
数据结构
文章平均质量分 78
SnailCpp
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构与算法
http://blog.youkuaiyun.com/baimafujinji/article/details/50531182转载 2016-01-21 15:52:40 · 300 阅读 · 0 评论 -
理解哈希表
转载地址:http://blog.chinaunix.net/uid-24951403-id-2212565.html 哈希表是种数据结构,它可以提供快速的插入操作和查找操作。第一次接触哈希表时,它的优点多得让人难以置信。不论哈希表中有多少数据,插入和删除(有时包括侧除)只需要接近常量的时间即0(1)的时间级。实际上,这只需要几条机器指令。 对哈希表的使用者一一人来说,这是一瞬间的事。哈希表运转载 2017-04-27 14:36:55 · 615 阅读 · 0 评论 -
数据结构总结(5)
串、数组和广义表 { 串: 顺序存储串和链式存储串 数组: 顺序存储串和链式存储串 广义表: 顺序存储广义表和链式存储广义表 } 串(String) { 串的定义: 零个或多个字符组成的有限序列 串的表示: 顺序存储串 { 顺序存储串表示: 与线性表的基本一致,区别仅在于限制了元素原创 2016-02-28 15:20:56 · 648 阅读 · 0 评论 -
数据结构总结(4)
队列和栈 { 队列: 顺序存储队列和链式存储队列 栈: 顺序存储栈和链式存储栈 } 队列 { 队列的定义: 只能在表的一端(队尾)进行插入,在另一端(队头)进行删除运算的线性表 顺序存储队列 { 顺序存储队列的表示: 顺序存储队列的实现(一般采用循环队列) { 顺序队列的定义: #define MAXQS原创 2016-02-26 19:37:31 · 807 阅读 · 0 评论 -
数据结构总结(7)
图(多对多) { 图的定义: Graph=(V,E) V:顶点(数据元素)的有穷非空集合; E:边的有穷集合。 图的一般表示: 图的基本术语: 无向图--------每条边都是无方向的图 有向图--------每条边都是有方向的图 完全图--------任意两个点都有一条边相连的图 稀疏图--------有很少边或弧的图。原创 2016-04-04 20:52:00 · 525 阅读 · 0 评论 -
数据结构总结(3)
线性表 { 线性表定义: 若结构是非空有限集,则有且仅有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。 线性表的表示: 文字表示 (a1 , a2 , ……, an) 图形表示 ○-○-○-○-○-○ 线性表特点: 有且仅有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。原创 2016-02-25 18:14:35 · 662 阅读 · 0 评论 -
数据结构总结(2)
算法 { 算法的概念: 一个有穷的指令集,这些指令为解决某一特定任务规定了一个运算序列 算法的对象: 数据 算法的特性: (1)输入 有0个或多个输入 (2)输出 有一个或多个输出(处理结果) (3)确定性 每步定义都是确切、无歧义 (4)有穷性 算法应在有穷性结束(避免死循环) (5)有效性 每一条运算应足够基本 算法的评价: (1)正确性 (2)可读原创 2016-02-25 15:35:40 · 433 阅读 · 0 评论 -
数据结构总结(1)
《数据结构》 { 概念: 数据结构={数据+结构} 数据: 数据{数据元素{数据项}} 数据对象 结构: 逻辑结构+存储结构(物理结构) 抽象数据类型: 数据结构+算法=(数据集合+结构(关系)集合)+数据操作 } 数据结构分类 { 存储结构: 链式存储和顺序存储 逻辑原创 2016-02-25 14:27:30 · 373 阅读 · 0 评论 -
自己动手实现图的BFS和DFS
http://blog.youkuaiyun.com/ns_code/article/details/19617187转载 2016-02-19 11:57:38 · 141 阅读 · 0 评论 -
数据结构总结(6)
树(一对多) { 树的定义(递归): 树(Tree)是n(n≥0)个结点的有限集,它或为空树(n = 0);或为非空树,对于非空树T: (1)有且仅有一个称之为根的结点; (2)除根结点以外的其余结点可分为m(m>0)个互不相交的有限集T1, T2, …, Tm, 其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。 树的一般表示: 树的其它原创 2016-03-02 17:18:34 · 632 阅读 · 0 评论 -
不使用递归和栈遍历二叉树
二叉树遍历一共三种方式(暂且不把层次遍历算在内),前序,中序和后序,而每种遍历又分为递归和非递归版本。不管是递归还是非递归,都用到了栈。为什么要用栈?那是因为其他的方式没法记录当前节点的parent,而如果在每个节点的结构里面加个parent 分量显然是不现实的,那么今天的题目主旨是不使用栈,这该如何实现?该方法是Morris提出的。他用得很巧妙,实际上是用叶子节点的空指针来记录当前节点的位置,然转载 2017-08-13 00:00:00 · 920 阅读 · 0 评论