数据结构
文章平均质量分 75
do it
皮皮治OS的笔记库
这个作者很懒,什么都没留下…
展开
-
深入理解数据结构原理(4)—堆(heap)
一、堆的定义堆其实就是满足一定条件的树:在堆中,他的每个结点的值都大于等于(或者小于等于)子树中的所有结点的值。也可以通俗的说任意一个结点的值都大于等于(或者小于等于)所有所有子节点的值。其中堆不一定是完全二叉树,只是为了方便存储和索引,我们通常用完全二叉树的形式来表示堆而已。二叉堆:是一个数组,它可以被看成是一个近似的完全二叉树堆的分类,根据排序不同可分为:最大堆:堆中的每一个节点的值都大于等于子树中所有节点的值 最小堆:堆中的每一个节点的值都小于等于子树中所有节点...原创 2022-05-19 20:34:14 · 1826 阅读 · 0 评论 -
深入理解数据结构原理(2)—树(Tree)
目录一、树的定义1、树的性质1.1、树有以下特点1.2、树的属性描述1.3、树的基本性质二、二叉树1、二叉树的定义2、二叉树的性质3、二叉树的遍历4、二叉树的储存结构5、平衡二叉树6、哈夫曼树一、树的定义树在书中的定义:是有 n(n>0)个结点的有限集。当 n = 0 时称为空树。其中树有且只有一个特定的根结点,任何一颗非空树只有一个根结点。(其实就是像树一样长出的一个一个分支,每个开叉处的结就是一个一个的结点,树杆就是这里的边,树上还.原创 2022-05-11 00:32:15 · 1516 阅读 · 0 评论 -
深入理解数据结构原理(3)—数组和链表
目录一、数组1、数组的定义二、链表1、链表的简单介绍2、链表的分类2.1、单链表2.2、双向链表2.3、循环链表2.4、双向循环链表2.5、应用场景一、数组1、数组的定义数组(Array) 是一种很常见的数据结构。它由相同类型的元素(element)组成,并且是使用一块连续的内存来存储。其特点为:提供随机访问 并且容量有限。数组索引(index)从零开始:在C语言中定义为:int n [10];在java中定义为:..原创 2022-05-09 00:41:16 · 1162 阅读 · 0 评论 -
深入理解数据结构原理(1)—栈(Stack)
目录一、栈的定义二、栈的基本操作三、栈的实际操作一、栈的定义栈(Stack)是一种只允许在一端进行插入或者删除的操作的线性表。可以理解为一个桶里装进去的一层一层叠加压入进去的东西,栈的性质是进行先入后出的原则,也就是说最先进入栈的元素最后才出来。栈包含:1、栈顶(Top):线性表允许进行插入和删除的一端。2、栈底(Bottom):是固定的,和栈顶相反,不允许进行插入和删除的一端。3、空栈:不含有任何的元素的空表。二、栈的基本操作1、InitSta.原创 2022-05-04 22:01:37 · 1098 阅读 · 0 评论 -
JAVA数据结构与算法——稀疏数组
package sparse.cn.cxz;public class SparseArray { public static void main(String[] args) { // 初始数组参数 int chessArr1[][] = new int [11][11]; chessArr1[1][2] = 1; chessArr1[2][3] = 2; System.out.println("原始数组:"); for (int[] row : chessArr1) { .原创 2022-01-25 21:26:58 · 330 阅读 · 0 评论