数据结构和算法
对数据结构进行系统学习和整理
林帆003
这个作者很懒,什么都没留下…
展开
-
06-哈希表
基本介绍 散列表(Hash table,也叫哈希表 ),是根据关键码值(key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中 一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放的数组叫做散列表。时间复杂度接近于O(1)。 哈希介绍 hash-散列 散列可以通过一定的计算规则,使得集合中的元素可以分类排列,从而快速查找。 哈希函数介绍 哈希的过程中需要...原创 2020-04-11 22:26:47 · 105 阅读 · 0 评论 -
05-堆栈
1.堆栈的定义 堆栈是一种只允许在表的一端进行插入操作和删除操作的线性表。允许操作的一端成为栈顶,栈顶元素的位置由一个称为栈顶指针的变量给出。当表中没有元素时,称之为空栈。 先进先出 2.堆栈的使用 名词解释 寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制。 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中...原创 2020-04-11 22:21:44 · 134 阅读 · 0 评论 -
04-线性表
1.线性表的定义及逻辑结构 线性表(LinearList)是由n(n$ \geq 0)个属于同一个数据对象的数据元素(节点)0)个属于同一个数据对象的数据元素(节点)0)个属于同一个数据对象的数据元素(节点)a_1,a_2,a_3,…,a_n$组成的有限序列。 线性表中每个元素必须具有相同的结构(即拥有相同的数据项)。线性表是线性结构中最常用而又最简单的一种数据结构。 线性表中每个数据元素其实可以...原创 2020-04-11 22:20:42 · 551 阅读 · 0 评论 -
03-队列
队列的定义 先进先出 队列是一个有序列表,可以用数组或是链表来实现。 队列简称队。时一种只允许在表的一端进行插入操作,而在表的另一端进行删除操作的线性表。允许插入的一端称为队尾,队尾元素的位置由rear指出;允许删除的一端成为队头,队头元素的位置由front指出。 ...原创 2020-04-11 22:12:28 · 108 阅读 · 0 评论 -
02-数组
1.基本概念 定义:一个连续的存储单元的有限集合。 数组的主要操作 初始化和销毁 给出一组下标,检索对应的数组元素 给出一组下标,存、取或者修改对应数组元素的值 检索满足条件的数组元素 升序或者降序排列 数组没有插入和删除操作 2.一维数组和二维数组的存储 数组一般采用的顺序存储结构 1.一维数组 若一维数组的每个元素占k个存储单元,并且从I0开始存储数组的第一个元素,则数组的第i个元素的...原创 2020-04-11 22:11:04 · 102 阅读 · 0 评论 -
01-数据结构和算法的基本介绍
1.数据结构和算法的关系 1.数据结构的定义 数据元素之间的联系称之为结构,数据结构就是具有结构的数据元素的集合。 数据结构是一个二元组Data-Structure=(D,R) 其中,D是数据集合的有限集合,R是D上的关系的集合。 1.逻辑结构 研究数据数据元素之间的客观联系 集合 在集合结构中,数据元素仅存在“同属于一个集合”的关系。 线性结构 数据元素的关系是“一对一”的关...原创 2020-04-11 22:06:34 · 341 阅读 · 0 评论