
数据结构
007havegone
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二叉树的遍历 C/C++语言实现
目录 1、二叉树的定义 2、二叉树的遍历 2.1、先序遍历 递归版 非递归版 2.2、中序遍历 递归版 非递归版 2.3、后序遍历 递归版 非递归版 2.4、层序遍历 3、二叉树的创建 4、二叉树的销毁 1、二叉树的定义 二叉树包括数据域,左孩子,右孩子。如果要要方便找双亲节点还可以添加一个指针(这里没有) typedef int TElemType; type...原创 2019-05-27 17:22:24 · 826 阅读 · 0 评论 -
算法导论 练习10.4-5二叉树的遍历
10.4-5 给定一个n结点的二叉树,写出一个O(n)O(n)O(n)时间的非递归过程,将该树的每一个结点的关键字输出。要求除该树本身的存储空间外只能使用固定量的额外存储空间,且中过程中不得修改该树,即使是暂时的修改也不允许。 要完成O(1))O(1))O(1))的空间内遍历该树,需要每个结点需要能访问其父节点进行回溯。 struct Tree { Tree *parent; Tr...原创 2019-08-08 15:48:52 · 523 阅读 · 0 评论 -
算法导论 练习12.1
12.1-1 对于关键字集合{1,4,5,10,16,17,21}\{1,4,5,10,16,17,21\}{1,4,5,10,16,17,21},分别画出高度为2、3、4、5和6的二叉搜索树。 这里说明一下:算法导论中定义的高度是根节点到叶节点的最大距离 高度为2: 高度为3: 高度为4: 10 10 ...原创 2019-08-09 01:05:32 · 788 阅读 · 0 评论 -
算法导论 练习14.1-7
14.1-7 说明如何在O(nlgn)O(nlgn)O(nlgn)时间内,利用顺序统计树对大小为nnn的数组中的逆序对(见思考题2-4)进行计树。 这道题和算法导思考题论2-4一致,当时采用了归并排序和线段树进行解决,在另外一篇博客中给出了题解。算法导论 思考题2-4 这里我们将采用书中的顺序统计树(order-statistic tree)来解决。其实本质上和线段树类似,都是采用一种支持O(lg...原创 2019-08-20 18:13:27 · 418 阅读 · 2 评论 -
算法导论 练习12.2
12.2-1 假设一棵二叉搜索树中的结点在1到1000之间,现在想要查找值为363得到结点,下面序列那个不是查找过的序列。 a. 2,252,401,398,330,344,397,3632,252,401,398,330,344,397,3632,252,401,398,330,344,397,363。 b. 924,220,911,244,898,258,362,363924,220,911,...原创 2019-08-12 11:17:49 · 825 阅读 · 0 评论 -
算法导论 练习12.3
12.3-1 给出TREE-INSERT过车过程的一个递归版本 //实现1 TREE-INSERT(T,z) if T.root = NIL //空树 T.root = z z.p = NIL else //非空,递归查找合适位置 TREE-INSERT-RECURSIVE(T.root,z) TREE-INSERT-RECU...原创 2019-08-12 17:59:20 · 822 阅读 · 0 评论 -
算法导论 思考题6-3(Young氏矩阵)
思考题6-3(Young氏矩阵)在一个m×nm\times nm×n的Young氏矩阵(Young tableau)中,每一行的数据都是从左到右排序的,每一列的数据都是从上到下排列的。Young氏矩阵中也会存在一些为∞\infin∞的数据项,表示那些不存在的数据。因此,Young氏矩阵可以用来村出r≤mnr \leq mnr≤mn个有限的数。 a. 画出一个包含元素{9,16,3,2,4,8,5,...原创 2019-08-22 00:37:17 · 496 阅读 · 0 评论 -
数据结构-红黑树
文章目录数据结构-红黑树1、红黑树简介红黑树的性质红黑树结点红黑树的5个性质2、红黑树的操作旋转插入操作情况 1:z的叔结点y为红色情况 2:z的叔结点y为黑色的且z是一个右孩子情况 3:z的叔结点y为黑色的且z是一个左孩子删除操作情况 1:x的兄弟结点w是红色的情况 2:x的兄弟结点w是黑色的,而且w的两个子结点都是黑色的情况 3:x的兄弟结点w是黑色的,w的左孩子是红色的,w的右孩子是黑色的。...原创 2019-08-18 15:08:05 · 572 阅读 · 0 评论