本章学习内容: 本章我们学习了一种新的数据结构,“树”结构是一类非线性数据结构。主要学习到二叉树的内容,二叉树有好几个重要的性质。刚开始学这种数据结构的时候,还是觉得比线性结构抽象很多。在后来上课和打代码的时候理解到,二叉树存储结构跟遍历有很大的关系,遍历的结果是将非线性结构的树中结点排成一个线性序 ...
分类:
其他好文 时间:
2020-05-31 19:55:21
阅读次数:
65
什么是队列? 队列是一种线性数据结构,要理解它,其实非常简单,举个例子。 假如高速公路上有一条隧道,所有通过隧道的车辆只允许从隧道的入口驶入,从隧道出口驶出,不允许逆行。因此,要想让车辆驶出隧道,只能按照车辆的驶入顺序,先驶入的车辆先驶出,后驶入的车辆后驶出,任何车辆都无法跳过它前面的车辆提前驶出。 ...
分类:
其他好文 时间:
2020-05-10 12:31:22
阅读次数:
74
数据结构:带有结构特性的数据元素的集合。 常见的数据结构:集合,线性结构,树形结构,图形结构等。 线性结构:表中各个结点具有线性关系。 常见的线性结构:栈Stack、队列Queue、双端队列Deque和列表List 栈Stack:一次有序的数据项集合,在栈中,数据项的加入和移除都仅发生在同一端。这一 ...
分类:
编程语言 时间:
2020-05-05 23:36:13
阅读次数:
80
线性表(即线性数据结构,如数组和链表)的常规排序算法,包括冒泡、插入、选择、归并和快排,其中综合性能最好的就是快排(快速排序),所以快排在工程实践中也有大量的应用,比如很多编程语言都提供了排序函数,而这些排序函数基本都是基于快速排序实现的,比如 PHP 的数组排序函数 sort 就是如此。 今天我们 ...
分类:
编程语言 时间:
2020-04-15 21:45:27
阅读次数:
164
622. 设计循环队列 难度中等89收藏分享切换为英文关注反馈 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。 循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一 ...
分类:
其他好文 时间:
2020-03-22 13:43:37
阅读次数:
67
1.图的概念和术语 2.图-存储方式(邻接矩阵法) 2.2、图-存储方式(邻接表法) ...
分类:
其他好文 时间:
2020-03-02 11:05:10
阅读次数:
58
一、线性数据结构 1、Java一维数组的创建 (1)预先定义数组的内存空间 int[] arr = new int[3]; // new int[3]是代表创建3个内存地址空间 // 地址空间的序号是按照0开始的,也就是说0为1号位置 arr[1] =2; //每二个内存地址空间都赋一个值 第二个位 ...
分类:
编程语言 时间:
2020-02-21 18:36:24
阅读次数:
70
一、介绍 emsp; 我们定义一个新链表然后,将两个链表的元素依次比较,放入比较最小的放到新链表前面。 二、代码 ...
分类:
其他好文 时间:
2020-02-10 09:45:20
阅读次数:
50
一、介绍 我们首先创建一个新的头节点交reverseHead,遍历我们原来的链表,每遍历一个就放在新链表的最前端,最后将原来链表的头节点的后续节点指向新链表头节点的后续节点。 二、代码 ...
分类:
其他好文 时间:
2020-02-09 22:02:08
阅读次数:
76
4-1 什么是链表 线性数据结构 为什么链表很重要? 最简单的动态数据结构 帮助更深入的理解引用(或者指针) 更深入的理解递归 辅助组成其他数据结构 ...
分类:
其他好文 时间:
2020-01-23 18:25:30
阅读次数:
66