剑指offer-18-2. 删除链表中重复的结点链表在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5思路:采用递归的方法查找从头节点开始重复的节点如果没有重复节点,pHead.... ...
分类:
其他好文 时间:
2019-12-26 00:04:53
阅读次数:
86
二叉搜索树 二叉搜索树很明显来自于一种思想:二分查找。 二叉搜索树 很明显: 二叉搜索树并不要求是一棵完全二叉树 则左子树上所有结点的值均小于它的根结点的值;右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉搜索树。 对于二叉搜索树而言,有以下典型的操作: 1 插入,删除 2 查... ...
分类:
其他好文 时间:
2019-12-23 20:34:48
阅读次数:
82
单链表的定义 顺序表它虽然可以实现随机存取,但是在初始化时需要申请一大块连续的存储空间,而且它在执行例如插入、删除操作时也需要大量的移动元素,时间复杂度较高。今天讲述线性表的一种新的存储表示方法,也就是线性表的链式表示。 首先,还是先来看单链表的定义。书中说, 线性表的链式存储,把它称作为单链表 。 ...
分类:
其他好文 时间:
2019-12-22 12:18:50
阅读次数:
94
Splay是一种平衡树,支持插入、删除、求排名、求第$k$大数、求前驱和求后继的操作,并且它还能做到一般平衡树做不到的区间操作。 ...
分类:
其他好文 时间:
2019-12-21 22:27:38
阅读次数:
98
师--链表的结点插入 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 给出一个只有头指针的链表和 n 次操作,每次操作为在链表的第 m 个元素后面插入一个新元素x。若m 大于链表的元素总数则将x放在链表的最后。 Inpu ...
分类:
其他好文 时间:
2019-12-18 22:06:20
阅读次数:
128
前几章已经介绍到了顺序存储、链式存储 顺序存储:初始化、插入、删除、定位 链式存储:初始化、插入、删除、定位 顺序存储:初始化 链式存储:初始化 顺序存储:插入 链式存储:插入 顺序存储的插入i是先将插入后面的往后移动插入i-1个位置,空出插入的地方在进行插入 链式存储:插入结点d,先将d的尾结点连 ...
分类:
其他好文 时间:
2019-12-18 19:07:01
阅读次数:
94
链表中的头指针和头结点 链式存储 指针域(单链表),来记录下一个结点的存储位置(地址) 插入和删除结点时,只需要修改指针即可 struct node{ int data; struct node *next; } data是数据域,用于存储数据 next是指针域,用于存储下一个结点的位置(地址) ...
分类:
其他好文 时间:
2019-12-14 09:41:02
阅读次数:
110
函数deletelist从以head为头指针的链表中删除成绩低于min_score的学生,并返回结果链表的头指针。 1 struct stud_node *deletelist( struct stud_node *head, int min_score ) { 2 //删除成绩低于min_scor ...
分类:
其他好文 时间:
2019-12-07 14:39:51
阅读次数:
64
ArrayList ArrayList : 基于数组实现的非线程安全的集合。查询元素快,插入,删除中间元素慢。 查询数据快,是因为数组可以通过下标直接找到元素。 写数据慢有两个原因:一是数组复制过程需要时间,二是扩容需要实例化新数组也需要时间。 ArrayList在执行查询操作时:第一步:先判断下标 ...
分类:
编程语言 时间:
2019-12-03 20:08:31
阅读次数:
113
堆栈 具有一定操作约束的线性表 :只在一端(栈顶,Top)做插入,删除 插入数据:入栈(Push) ? 删除数据:出栈(Pop) ? 后入先出:Last In First Out(LIFO) 堆栈的抽象数据类型: 类型名称: 堆栈(Stack) 数据对象集:一个有0个或多个元素的有穷线性表。 操作集 ...
分类:
其他好文 时间:
2019-11-24 15:29:57
阅读次数:
58