1.二叉树 特点:二叉树每个节点最多只有两个子节点, 分为左右子树, 且左子树 < 节点 < 右子树。 时间复杂度: O(logn), 存在中序、前序、后序遍历。 2.AVL树 特点:自平衡二叉树, 通过旋转来平衡二叉树的高度, 适用于查找多操作少的条件。 时间复杂度: 找、插入和删除在平均和最坏情 ...
分类:
其他好文 时间:
2018-08-04 19:05:11
阅读次数:
141
数据结构:链表、栈、队列:链表插入元素。Huffman树:树的构建。二叉树、平衡二叉树:树的遍历(前序中序后序),查找树中两个元素和为某个值的叶子节点。堆:大(小)顶堆构建,topN的数。排序:冒泡排序,插入排序。查找:二分查找,快速查找。高级数据结构:动态规划、分治算法机器学习: 监督学习算法: ...
分类:
其他好文 时间:
2018-08-02 19:17:48
阅读次数:
132
题目如下: 解题思路:凑数题+2,做完先序做后序。凑数博+2。 代码如下: ...
分类:
其他好文 时间:
2018-07-31 22:01:30
阅读次数:
178
遍历一棵树是指访问树的每个节点并对它们进行某种操作的过程。访问树的所有节点的方式有三种:中序、先序、后序。 中序遍历是一种以上行顺序访问BST所有节点的遍历方式,也就是从小到达的顺序访问所有节点。中序遍历的一种应用就是对树进行排序操作。 以上是中序排列的编写,使用了一个辅助私有函数,来接收一个节点和 ...
分类:
编程语言 时间:
2018-07-30 21:35:54
阅读次数:
149
[TOC] 3.1 栈 3.1.1 栈的基本概念 (1)栈的定义 栈 (Stack):只允许在一端进行插入或删除操作的线性表。首先栈是一种线性表,但是限定这种线性表只能在某一端进行插入和删除操作,如图 3 1 所示。 栈顶 (Top):线性表允许进行插入和删除的那一端。 栈底 (Bottom):固定 ...
分类:
其他好文 时间:
2018-07-30 11:29:34
阅读次数:
289
1.树到二叉树的转换思考:通用树结构的实现太过复杂(树中每个结点都可以有任意多的孩子,具有多种形态),工程中很少会用到如此复杂的树是否可以简化呢?思路:减少树结点中孩子的数量。但这样树是否还能通用呢?1.1.树的两种表示法双亲孩子表示法:孩子兄弟表示法:孩子兄弟表示法的特点:1.能够表示任意的树形结构2.每个结点包含一个数据成员和两个指针成员3.孩子结点指针和兄弟结点指针构成“树杈”2.2.二叉树
分类:
其他好文 时间:
2018-07-29 15:19:40
阅读次数:
131
城市与国家财富:经济生活的基本原则 英文版第一版是1985年出的。本书没有任何的前言后序说一下本书出版后在学术圈的反响,这个算一大缺陷。 书中主要思想:1:城市是经济发展的基本单位,国家不是;2:落后城市的发展路径是:进口,山寨进口产品的基础上进行创新,低价卖给发展水平差不多的城市;3:以单一的资源 ...
分类:
其他好文 时间:
2018-07-28 00:18:16
阅读次数:
261
【一. 时间戳(dfn)】 什么是时间戳? 就是每个位置被访问到的次序。 比如说我们对一棵树进行深搜,在深搜中访问的相应次序就被我们称为时间戳。 【二. 树的dfs序】 1.dfs序的作用 维护一系列树上的问题,解决一棵树上的所有后代结点信息的更改和祖先结点有关改变, 通过dfs来记录树的每个顶点的 ...
分类:
其他好文 时间:
2018-07-25 16:15:46
阅读次数:
220
思路: 嘻嘻,请读者自己手动模拟。博主这里不知道怎么用语言说。 拓展: 算法思路适用于 (1)每层的结点个数 (2)树的最大宽度 (3)节点位于某一层 int height(BiTree T){ if(T==null) return 0; int front= 1, rear= 1;//front ...
分类:
编程语言 时间:
2018-07-23 15:51:54
阅读次数:
160