数据结构
飞翔的思绪
android/C#/computer vision/
Standing on the shoulders of giants continue their efforts
展开
-
数据结构系列(一)
数据结构数据结构:就是数据与算法的研究。 数据:就是未经处理的原始文字、数字、符号或图形等,他所表达出来的只是一种没有评估价值的基本元素或项目。 算法:韦氏词典定义为“在有限步骤内解决数学问题的程序” 在计算机领域“为了解决某项工作或某个问题,所需要有限数量的机械性或重复性指令与计算步骤”。 我认为:算法就是一种解决问题的方法。算法必须符合5个条件 算法的条件 内容与说明 输入原创 2017-04-24 18:33:50 · 269 阅读 · 0 评论 -
数据结构(二)
2 线性表2.1 线性表的定义一种有序元素的集合,目的在于表示列表中的任意两相邻元素之间的关系。其中ai−1a_{i-1}称为aia_i的先行元素,aia_i是ai−1a_{i-1}的后继元素。简单的线表我们可以写成(a1,a2,a3,...,an−1,an)(a_1,a_2,a_3,...,a_{n-1},a_n)。2.1.1 线性表的用途在内存中静态数据结构应用有数组或字符串结构等,特性是使用连原创 2017-04-25 10:46:13 · 307 阅读 · 0 评论 -
数据结构系列(三)链表
3链表链表是由许多相同数据类型的数据项按照特定书序排列而成的线性表。但链表的特性是其各个数据项在计算机内存中的位置是不连续且随机存放的,其优点是数据的插入或删除都相当方便,有新数据加入就向系统申请一块内存空间,而数据被删除后,就可以把这块内存空间还给系统,加入和删除都不需要移动大量的数据。缺点就是设计数据结构时较为麻烦,在查找数据时,也无法像静态数据那样可随机读取数据,必须按序查找到该数据为止。3.原创 2017-04-25 15:28:51 · 451 阅读 · 0 评论 -
数据结构系列(4)堆栈与队列
4 堆栈与队列4.1 堆栈堆栈是一组相同数据类型数据的集合,并且拥有后进先出的特性,所有的操作都在堆栈顶端进行。将元素放入堆栈顶端称为压入,将元素从堆栈顶端取出称为弹出。堆栈的应用包括递归的调用和返回、二叉树和森林的便利操作、调用子程序和从子程序返回、算术表达式的转换和求值、中央处理单元的中断处理以及堆栈计算机等等。堆栈的基本操作 堆栈的操作 说明 CREATE 创建一个控堆栈 P原创 2017-04-25 16:14:24 · 424 阅读 · 0 评论 -
数据结构系列(5)树状结构
5树状结构“树”是有一个或一个以上的节点组成,存在一个特殊的节点,称为树根。每个节点是一些数据和指针组合而成的记录。除了树根,其余节点可分为n>=0个互斥的集合,其中每一个子集合本身也是一种树状结构,即此根节点的子树。此外一棵合法的树,节点间可以互相连接,但不能形成无出口的回路。5.1 专有名词介绍 度数:每个节点所有子树的个数。 层数:树的层数。 高度:输的最大层数 树叶或称终端节点:度数为零的节原创 2017-04-25 17:51:31 · 1224 阅读 · 0 评论 -
数据结构系列(7)排序
排序排序是指将一组数据,按照特定规则调换位置,使数据具有某种顺序关系。排序的移动方式可分为直接移动和逻辑移动。 直接移动是直接交换存储数据的位置,逻辑移动是改变指向这些数据的辅助指针的值。排序的分类 排序通常按照数据量的多寡和所使用的内存可分为内部排序和外部排序,数据量小则可以全部加载到内存来进行的排序称为内部排序。内部排序法 冒泡排序法 原理是从第一个元素开始,比较相邻元素的大小,若大小顺原创 2017-04-25 18:28:59 · 447 阅读 · 0 评论