数据结构
小熊猫猫猫猫
这个作者很懒,什么都没留下…
展开
-
二叉树重建
PreOrder(T)=T的根节点+PreOrder(T的左子树)+PreOrder(T的右子树) InOrder(T)=InOrder(T的左子树)+T的根节点+InOrder(T的右子树) PostOrder(T)=PostOrder(T的左子树)+PostOrder(T的右子树)+T的根节点 其中加号表示字符串连接运算例如,对下图所示的二叉树,先序遍历为DBACEGF,中转载 2013-12-30 19:31:05 · 356 阅读 · 0 评论 -
动态规划
一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能转载 2013-12-25 09:40:12 · 382 阅读 · 0 评论 -
各种排序总结
本文是为了加深自己对各种算法的理解,部分摘自维基百科,这里主要介绍较为常用的排序方法,一些生僻的算法不做介绍。.总结各种算法之前,现介绍下几个概念:1、稳定度:稳定排序算法会依照相等的关键(换言之就是值)维持纪录的相对次序。也就是一个排序算法是稳定的,就是当有两个有相等关键的纪录R和S,且在原本的串行中R出现在S之前,在排序过的串行中R也将会是在S之前。2、计算的复杂度(最差、平均转载 2014-11-17 20:03:51 · 295 阅读 · 0 评论 -
数组和线性表
用数组表示线性表的话,插入是将要插入位置之后的元素向后移动一位,再将新元素插入,删除同理,条件是数组足够大用链表表示线性表的话,插入是改变前一个元素的指针值,删除同理,基本上没有条件限制,只是查找不方便数组就是相同数据类型的元素按一定顺序排列的集合。一句话:就是物理上存储在一组联系的地址上。也称为数据结构中的物理结构。线性表中数据元素之间的关系是一对原创 2015-08-16 09:42:33 · 522 阅读 · 0 评论 -
最短路径—Dijkstra算法和Floyd算法
Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。注意该算法要求图中不存在负权边。问题描述:在无向图 G=(V,转载 2015-08-19 15:19:41 · 480 阅读 · 0 评论