码迷,mamicode.com
首页 > 其他好文 > 详细

【数据结构】

时间:2017-03-03 17:57:53      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:数据结构   链表   运行   去除   左右   完全   nod   需要   数组   

一:算法分析

1:时间复杂度计算

T(n)=函数执行的最大次数。执行次数与输入规模有关。

原则:

1)去除常系数

2)同等数量级并且并列的则用 + 连接,并列的但数量级不同的取大者

3)嵌套的相乘

所以,我们先用  T(n)=K*t(f1(n))+M*t(f2(n))... 计算出算法执行的最大次数,然后运行化简法则化简:去常系数,和式取大,嵌套相乘,即可得到复杂度

 

2:空间代价

如果需要用到容器存放处理过程中的数据,那么我们可以根据输入规模n计算出空间开销代价与n的关系式。

 

二:树

1:遍历二叉树

前序:根左右

中序:左根右

后序:左右根

 

2:链表建立二叉树

每个结点一个node,有左右指针指向儿子

 

3:数组实现完全二叉树

n为结点总数,r为当前结点下标,则:

父节点为:floor[(r-1)/2]

左兄弟:r-1(r为偶数)

右兄弟:r+1(r为奇数)

左儿子:2r+1

右儿子:2r+2

 

4:遍历二叉树

5:由中序+前/后序遍历重建二叉树

6:BST的建立与使用

7:最大/最小堆的建立

8:哈夫曼编码树的建立及使用

9:计算树的高度

10:统计叶子数目

 

三:排序

1:

四:检索

五:索引

六:图

 

【数据结构】

标签:数据结构   链表   运行   去除   左右   完全   nod   需要   数组   

原文地址:http://www.cnblogs.com/ygj0930/p/6497823.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!