![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 80
YoungYangD
喜欢读书、旅行的小男生,梦想是贩卖二手阳光。
展开
-
数据结构(第一篇:基础知识)
概述 我们程序员都听过一句话:程序 = 数据结构 + 算法。可见数据结构的重要性。下面就对数据结构中一些概念的总结。 数据:所以能保存到计算机中的符号。包括文本、声音、图像等。 数据元素:数据的基本单位,也称节点或记录。 数据项:有独立含义的数据最小单位。若干个数据项构成一个数据元素,数据项不可分割。 数据对象:相同特性数据元素的集合,是数据的一个子集。 数据结构:相互之间存在一种或多种特定关系的...原创 2018-12-24 19:41:13 · 526 阅读 · 0 评论 -
数据结构(第二篇:顺序表)
顺序表是最简单的一种线性结构,逻辑上相邻的数据在计算机内的存储位置也是相邻的,数组就是顺序表。可以快速定位第几个元素,中间不允许有空,所以插入、删除时需要移动大量元素。 顺序表有两个长度,一个是记录分配的连续内存长度,而另一个记录已使用的长度。如下所示: 下面整理一下顺序表的运算结构。 顺序表的存储空间记为Maxsize,用elem记录基地址,用length记录实际的元素个数,即顺序表的长度: ...原创 2019-01-23 19:00:33 · 612 阅读 · 0 评论 -
数据结构(第三篇:链表)
链表是常见的线性数据结构,逻辑上相邻的数据在计算机内的存储位置不一定相邻。两元素之间通过指针相连。如下图所示: 从图中可以看出,每个节点包含两部分内容:数据和指针。指针指向下一个存储节点。 在单链表中,想查找第i个元素,必须从头开始,按顺序一个一个来,一直数到第i个元素,这种方式称为 顺序存取。 单向链表的结构为: struct Node { int data; Node* pNext; }...原创 2019-01-24 20:10:56 · 245 阅读 · 0 评论 -
数据结构(第四篇:栈)
1、概述 栈是一种 后进先出 的特殊线性表,仅能在线性表的一端操作,栈顶允许操作,栈底不允许操作。 栈是一个逻辑结构,它是人为规定的。底层的存储结构,可以是顺序结构,也可以是链式结构。使用顺序结构实现的栈叫做 静态栈(顺序栈)。使用链式结构实现的栈叫做 动态栈(链式栈)。 栈的使用非常的普遍,在函数的调用,其实就是使用的栈。比如递归调用。 2、静态栈(顺序栈) 静态栈的缺点:当存储元素为类类型时,...原创 2019-01-25 17:40:58 · 363 阅读 · 0 评论 -
数据结构(第五篇:队列)
1、概述 队列和栈一样,是一种特殊的线性表。队列是一种 “先进先出” 的逻辑结构。它只允许在一端进行插入操作,而在另外一端进行删除操作。允许插入的端是队尾,允许删除的端是队头。如下图所示: 队列和栈一样,底层的存储结构,可以使顺序结构,也可以是链式结构。 队列在实际程序中有很重要的应用。比如计算机系统对进程的控制、消息的传递等。 2、顺序队列及循环队列 顺序队列,使用数组进行元素存储,通过队头和...原创 2019-02-17 18:10:40 · 307 阅读 · 0 评论 -
数据结构(第六篇:二叉树)
1、概述 二叉树是由n(n>= 0)个节点组成的有序集合。它要么是空树,要么是非空树。对于非空树: 有且仅有一个称之为根的节点。 当n>1时,其余节点可分为两个互不相交的有限集T1、T2,其中每个集合本身又是一颗树,分别称为根节点的左子树和右子树。 因为每个节点最多有两个子节点,所以称为二叉树。相应的,我们也可以定义三叉树、四叉树、…、八叉树等。 1.1、树的几个概念 路径:顺着连...原创 2019-02-25 20:10:36 · 304 阅读 · 0 评论