码迷,mamicode.com
首页 >  
搜索关键字:删除结点    ( 101个结果
数据结构与算法问题 二叉搜索树
1、序      详细实现了二叉查找树的各种操作:插入结点、构造二叉树、删除结点、查找、  查找最大值、查找最小值、查找指定结点的前驱和后继 2、二叉查找树简介      它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树 3、...
分类:其他好文   时间:2014-08-13 18:46:47    阅读次数:164
C++实现二叉树(转)
/*************************************************************************这是一个二叉查找树,实现了以下操作:插入结点、构造二叉树、删除结点、查找、查找最大值、查找最小值、查找指定结点的前驱和后继。上述所有操作时间复杂度均为o...
分类:编程语言   时间:2014-08-13 14:49:16    阅读次数:331
在O(1)时间内删除单向链表结点
原理: 1.若待删结点在单链表中间,则获取结点下一个结点的值,并复制给待删结点,然后删除待删结点的下一个结点。 2.若待删结点在单链表尾部,则顺序遍历单链表,删除。 3.若链表只有一个结点,正是待删结点,则删除之,并修改相关指针。 核心代码: //在O(1)时间删除结点。注:必须保证pDel为链表中的结点 void DeleteNode(List *lis...
分类:其他好文   时间:2014-07-26 02:56:47    阅读次数:343
双向链表
引言:         单链表存在一个问题,当我们想要访问某个结点的前一个结点时,要从头结点开始访问。显然这样的操作是令人烦躁的。为此,双向链表出现,它比单链表多出了一个指针域,指向前一个结点。这样,对于双向链表,就可以方便的从后向前遍历链表了。但多出的问题是对于插入和删除结点的开销要增加一倍。 分析描述:         双向链表存储结构图为:,用结构体表示如下: ...
分类:其他好文   时间:2014-07-09 11:44:17    阅读次数:189
【剑指offer】用两个栈实现队列
题目:用两个栈实现一个队列。队列的声明如下:请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。 分析: 队列的特点是“先进先出”,而栈的特点是“先进后出”。要用两个栈来实现队列。用图分析如下: 程序代码如下: #include #include #include #ifndef ERROR #define E...
分类:其他好文   时间:2014-07-02 08:00:24    阅读次数:247
二叉查找树(二叉排序树)的详细实现
1、序详细实现了二叉查找树的各种操作:插入结点、构造二叉树、删除结点、查找、 查找最大值、查找最小值、查找指定结点的前驱和后继2、二叉查找树简介它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值...
分类:其他好文   时间:2014-06-25 20:44:28    阅读次数:294
每天一个小算法(4)----在O(1)时间删除指定结点
O(1)时间内删除结点的思路只能是复制该结点下一个结点的数据,然后删除该结点的下一个结点,来等效删除此结点。需要注意的地方是删除头结点和尾结点的处理。 1 #include 2 #include 3 #include 4 typedef struct Node 5 { 6 int da...
分类:其他好文   时间:2014-06-15 17:05:10    阅读次数:107
剑指offer (13) O(1)时间删除单链表结点
单链表删除结点操作:方法一. 从链表的第一个结点开始遍历,顺序遍历到需删除结点的前一个结点,然后调整指针指向 T(n) = O(n)方法二. 将 需删除结点i的下一个结点j(如果存在) 的值赋值给 需删除结点i,然后 删除结点j,这就相当于删除了结点i T(n) = O(1)需要注意以下几点:1. ...
分类:其他好文   时间:2014-06-09 15:05:28    阅读次数:208
剑指offer (7) 两个栈实现队列 两个队列实现栈
题目:用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead,分别完成队列尾部插入结点 和 队列头部删除结点AppendTail:直接将元素入栈stack1DeleteHead:当stack2中不为空时,在stack2中的栈顶元素是最先进入队列的元素...
分类:其他好文   时间:2014-06-07 07:06:14    阅读次数:232
数据结构之链表单向操作总结
链表是数据结构的基础内容之一,下面就链表操作中的创建链表、打印链表、求取链表长度、判断链表是否为空、查找结点、插入结点、删除结点、逆转链表、连接链表、链表结点排序等进行总结。 1.创建表示结点的类,因为链表操作中需要比较结点,因此结点需要实现comparable接口。 public class Node implements Comparable { private Object data;...
分类:其他好文   时间:2014-05-18 03:04:38    阅读次数:316
101条   上一页 1 ... 8 9 10 11 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!