博客专栏  >  编程语言   >  算法和数据结构

算法和数据结构

学习数据结构的一些总结,大多是课本或教程上的文字摘录,略含自己的一点见解,不为其他,只为记录一下自己的学习点滴,也为了自己可以温故知新。因是新人,纯是自学,如有错误,还望同仁指教一二。

关注
1 已关注
36篇博文
  • 数据结构之二叉排序树

    上一节我们介绍了二分(折半)查找,也了解了它的优缺点。二分查找的特点:二分查找能够提高有序表中数据元素的查找速度;二分查找的时间复杂度为O(log2n);二分查找是一种静态查找二分查找的不足:当查找表...

    2018-03-06 18:26
    43
  • 数据结构之顺序表和有序表查找其实现

    顺序表和有序表查找顺序查找定义:从线性表中的第一个(或最后一个)数据元素开始,逐个进行数据元素关键字和给定值的比较,若某个数据元素的关键字和给定值相等则查找成功;如果直到最后一个(或第一个)数据元素,...

    2018-03-05 19:41
    60
  • 数据结构之查找的概念及简单实现

    查找的概念查找是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素。查找表是由同一类型的数据元素(或记录)构成的集合。由于集合中的数据元素之间存在着完全松散的关系,因此查找表是一种非常灵...

    2018-03-04 21:43
    58
  • 数据结构之图的最短路径

    图的最短路径最短路径问题:如果从有向图中某一顶点(称为源点)到达另一顶点(称为终点)的路径可能不止一条,如何找到一条路径使得沿此路径上各边上的权值总和达到最小。下面讨论两种最常见的最短路径问题:单源最...

    2018-03-03 23:11
    49
  • 数据结构值图的最小生成树

    最小生成树(最小连通网)假设在n个城市之间建立通信联络网,则连通n个城市只需要n-1条线路。这时自然会考虑这样一个问题,如何在最节省经费的前提下建立这个通信网。在每两个城市之间都可以设置一条线路,相应...

    2018-03-03 20:43
    84
  • 数据结构之图的遍历

    图的遍历定义:从图中的某一顶点出发,沿着一些边访遍图中所有的顶点,使得每个顶点仅被访问一次。图的遍历算法是求解图的连通性问题、拓扑排序和求关键路径等算法的基础。然而,图的遍历要比树的遍历复杂的多。因为...

    2018-02-28 20:35
    148
  • 数据结构之图的存储结构二及其实现

    上一节我们讲述了邻接矩阵法实现图,本节再来讲述一下邻接链表法实现图。邻接链表邻接表是图的一种链式存储结构。在邻接表中,对图中的每个顶点建立一个单链表,第i个单链表中的结点表示依附于顶点vi边(对有向图...

    2018-02-27 21:57
    145
  • 数据结构之图的存储结构一及其实现

    图的存储结构由于图的结构比较复杂,任意两个顶点之间都可能存在联系,因此无法以数据元素在存储区中的物理位置来表示元素之间的关系,即图没有顺序映像的存储结构,但可以借助数组的数据类型表示元素之间的关系。另...

    2018-02-27 16:44
    124
  • 数据结构之图的定义及基本术语

    图的定义图是由顶点集合(Vertex)及顶点间的关系集合组成的一种数据结构:Graph=( V, E )V = {x | x ∈某个数据对象 } 是顶点的有穷非空集合;E ={ (x, y) | x,...

    2018-02-26 20:59
    86
  • 数据结构之线索化二叉树

    线索化二叉树 在一些项目中需要频繁的遍历二叉树,但是二叉树的遍历比单链表的遍历复杂多了,并且递归总是会有额外开销。。。能不能像链表那样方便的快速遍历二叉树呢?线索化二叉树指的是将二叉树中的结点进行逻辑...

    2018-02-24 21:42
    74
  • 数据结构之遍历二叉树

    遍历二叉树在二叉树的一些应用中,常常要求在树中查找具有某种特征的结点。这就提出遍历二叉树的问题,即如何按某条搜索路径巡访树中每个结点,使得每个结点均被访问一次,而且仅被访问一次。遍历对线性结构来说,是...

    2018-02-24 20:19
    87
  • 数据结构之二叉树的创建

    文章开头首先要感谢一下国嵌嵌入式教育的工作者们。创建二叉树 二叉树不仅比通用树结构简练,而且同时拥有通用树相同的操作。要想创建二叉树,首先就得了解一下二叉树的存储结构。已知二叉树的存储结构分为顺序存储...

    2018-02-24 15:43
    59
  • 数据结构之二叉树的定义和性质

    通过上一节讲解,我们知道通用树结构是采用双亲孩子表示法模型建立的。每个结点都有一个指向其双亲的指针,每个结点都有若干个指向其孩子的指针。如下图:整体实现起来比较复杂,今天我们来讲一下另一种树结构模型:...

    2018-02-17 21:26
    81
  • 数据结构之通用树结构的实现

    之前我们讲了树的定义和操作,这节我们讲一下如何实现这些操作。既然要考虑如何实现,那就得说说树的存储结构。大家都知道树是非线性数据结构,显然我们无法用数组来表示树的逻辑结构。那我们应该怎么办呢?通过什么...

    2018-02-17 14:54
    182
  • 数据结构之树的定义及操作

    树的定义树是一种非线性的数据结构树是由 n ( n ≥0 ) 个结点组成的有限集合如果 n = 0,称为空树(如下图a);如果 n > 0,则:1.有一个特定的称之为根(root)的结点...

    2018-02-14 16:40
    50
  • 数据结构之内部排序三

    上两节讲解的几种排序方法不是时间复杂度大了,就是不稳定,今天我们讲一下一种时间复杂度低又稳定的一种内部排序方法;归并排序基本思想:将两个或两个以上的有序序列合并成一个新的有序序列:有序序列V[1] …...

    2018-02-13 16:44
    89
  • 数据结构之内部排序二

    上一节我们讲解三种简单的排序算法,虽然这3种排序算法的排序结果都是稳定的,但是他们的时间复杂度都是O(n^2),所以这三种算法不是最佳的排序方法,今天我们讲几个时间复杂度低于这三种的排序算法。排序动画...

    2018-02-13 15:28
    57
  • 数据结构之内部排序一

    排序算法演示动画一选择排序选择排序的方法包含:简单选择排序、树形选择排序、堆选择排序等。我们主要讲一下最简单的选择排序:简单选择排序法。基本思想:每一趟 (例如第 i趟,i = 0, 1, …, n-...

    2018-02-12 17:22
    59
  • 数据结构之排序的概念及分类

    排序的概念排序的一般定义:排序是计算机内经常进行的一种操作,其目的是将一组“无序”的数据元素调整为“有序”的数据元素。例如:将下列关键字序列52,49, 80, 36, 14, 58, 61, 23,...

    2018-02-12 14:52
    96
  • 数据结构之队列的特别实现

    队列的特别实现 上两节讲的队列实现方式确实提高了顺序队列和链式队列的效率,可是实现过程还是比较复杂。这样就有可能导致错误,其实有即能复用之前的代码,又比较高效的队列实现算法的。 那就是用栈来实现,...

    2018-02-12 13:41
    47
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部