数据结构
文章平均质量分 70
love_Aym
这个作者很懒,什么都没留下…
展开
-
【数据结构】数据、数据结构(分类)、抽象数据结构
摘自:大话数据结构一、数据二、数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。分类:1、逻辑结构 1)集合结构:同属于一个集合,它们之间没有其他关系 2)线性结构:数据元素之间是一对一的关系 3)树形结构:一对多的层次关系 4)图形结构:多对多的关系用示意图表示数据的逻辑结构时,要注意两点:1)将每个数据元素看做一个结点,用圆圈表示2)元素之间的逻辑关系用结点之...原创 2018-03-27 15:35:43 · 2038 阅读 · 0 评论 -
【数据结构】排序(冒泡、选择、插入、希尔、堆、归并、快排)
部分参考:https://www.cnblogs.com/chengxiao/category/880910.html一、冒泡排序冒泡排序的基本思想是,对相邻的元素进行两两比较,顺序相反则进行交换,这样,每一趟会将最小或最大的元素“浮”到顶端,最终达到完全有序 代码实现 在冒泡排序的过程中,如果某一趟执行完毕,没有做任何一次交换操作,比如数组[5,4,1,2,3],执行了两次冒泡,也就...原创 2018-06-12 11:21:08 · 658 阅读 · 0 评论 -
【数据结构】二叉树的基础知识
一、概述在某个阶段都是两种结果的情形,比如开和关、0和1、真和假、上和下、对与错、正面和反面,都适合用一种很特殊的树状结构 建来建模,即为二叉树。定义如下:二叉树的特点:Degree≤2二叉树具有五种基本形态:二、特殊二叉树1、斜树左/右斜树:所有的结点都只有左/右子树,统称为斜树。特点:每一层都只哟一个结点,结点的个数与二叉树的深度相同,即Depth=n.线性表结构可以理解为是树的一种及其特殊的...原创 2018-05-07 12:41:19 · 308 阅读 · 0 评论 -
【数据结构】树的基本知识
一、概述树:有限个结点根:唯一的子树:多个,互不相交二、结点分类结点:包含一个数据元素及若干个指向其子树的分支。结点的度(Degree):结点拥有的子树数量。叶节点(Leaf):度为0的结点内部结点:除根节点之外,分支结点也称为内部结点。 因此——树的度是树内各结点的度的最大值。上面树的度为3。三、结点间关系孩子(Child):结点的子树的根称为该结点的孩子。双亲(Parent):该结点称为...原创 2018-05-06 22:53:06 · 763 阅读 · 0 评论 -
【数据结构】串的基础知识(无代码)
一、概述 串(string)是由零个或多个字符组成的有限序列,又名字符串。 本质是它是一种线性表的扩展,但相对于线性表关注一个个元素来说,我们对串这种结构更多的是关注它子串的应用问题,如查找、替换等操作。二、串的比较1、串的比较是通过组成串的字符之间的编码来进行的。而字符的编码指的是字符在对应字符集中的序号。ASICC、Unicode2、串相等:必须是它们串的长度以及它...原创 2018-05-05 22:18:29 · 415 阅读 · 0 评论 -
【数据结构】栈和队列的总结对比
栈和队列都是特殊的线性表,只不过对插入和删除操作做了限制。栈(stack):是限定尽在表尾进行插入和删除操作的线性表队列(queue):是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。栈和队列的相同点和不同点:1、均可以用线性表的顺序存储结构来实现,但都存在顺序存储的一些弊端,因此他们各有各自的技巧来解决这个问题:2、均可以通过链式存储结构来实现,实现原则上与线性表基本相同。总的来说...原创 2018-05-05 17:39:49 · 1148 阅读 · 0 评论 -
【数据结构】队列的基础知识(无代码)
队列: 是只允许在一端进行插入操作、而在另一端进行删除操作的线性表。队列是一种先进先出(FIFO)的线性表。允许插入的一端称为队尾,允许删除的一端称为队头。1、顺序存储 先进先出,如果出一个元素意味着队列中的所有元素都得向前移动,此时时间复杂度为O(n)。但是队头不需要一定在下标为0的位置。 此时引入两个指针: 假设队列的长度是有限...原创 2018-05-05 17:32:31 · 323 阅读 · 0 评论 -
【数据结构】栈的基础知识(无代码)
一、概念栈: 是限定在表尾进行插入和删除操作的线性表。注意:首先栈是个线性表,栈元素具有线性关系,即前驱后继关系。始终只能在表尾即是栈顶进行插入和删除操作,而不是栈底。栈底是固定的,最先进栈的只能在栈底。进栈出栈的变化形式:栈对线性表的插入和删除的位置进行了限定,但没有对元素进出的时间进行限制。在不是所有元素都进栈的情况下,事先进去的元素也可以出站,只要保证是栈顶元素出栈就行。 如有...原创 2018-05-04 22:20:06 · 396 阅读 · 0 评论 -
【数据结构】线性表List基础概念总结(无代码)
一、基本概述1、概念:零个或多个数据元素的有限序列2、特点:类型相同、有限性、有序性、3、在较复杂的线性表中,一个数据元素可以由若干个数据项组成。二、线性表的抽象数据类型对于一个线性表,插入数据和删除数据都是必须的操作线性表的抽象数据类型定义如下:对于复杂的个性化的操作,其实就是把基本操作组合起来实现的。三、线性表的顺序存储结构1、读取存取数据时,不管是哪个位置,时间复杂度都是O(1);2、插入删...原创 2018-03-27 19:16:41 · 226 阅读 · 0 评论 -
【数据结构】算法基本概述
一、概念为了解决某个或牟烈问题,需要把指令表示成一定的操作序列,操作序列包括一组操作,每个操作都完成特定的功能,这几是算法。二、基本特性:输入、输出、有穷性、确定性、可行性。1、输入输出:算法具有零个或多个输入,至少有一个或多个输出,可以是打印输出,也可以是返回一个或多个值等。2、有穷性:算法在执行有限的步骤之后,自动结束而不会出现 死循环,并且每一个步骤在可接受的时间内完成。3、确定性:算法的每...原创 2018-03-27 17:09:21 · 273 阅读 · 0 评论 -
【数据结构】查找结构(二叉排序树、ALV树、散列技术哈希表)
分类:静态查找表、动态查找表为了提高查找的效率,需要转么为查找操作是指数据结构,这种面向查找操作的数据结构成为查找结构。一、顺序查找表(线性表)1、for循环多次比较2、while循环,减少比较次数(i<=n)时间复杂度O(n)缺点:n很大时朝赵效率极为地下优点:算法简单,对静态查找表的记录灭有任何要求。适合:小型数据的查找时适用。二、有序查找表(二叉树)1、折半查找(二分法查找)前提:线性...原创 2018-06-08 17:49:58 · 685 阅读 · 0 评论