
数据结构
文章平均质量分 97
数据结构学习。
Guiat
C/C++领域优质创作者。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【数据结构】哈希表
哈希表(Hash Table),也常被称作散列表,是一种用于存储数据元素的数据结构,它通过一种特定的映射机制——哈希函数(Hash Function),能够快速地实现数据的插入、查找以及删除操作。其核心思想在于将数据元素的关键码(Key)转化为一个在特定范围内(通常对应哈希表的索引范围)的整数值,然后依据这个值将数据元素存放在哈希表相应的位置上,就如同给每个元素都分配了一个专属的“座位”,方便后续快速定位访问。Key key;在这里,我们定义了一个模板结构体HashNode。原创 2024-11-23 04:30:00 · 805 阅读 · 11 评论 -
【数据结构】图
介绍图在数据结构中的正式定义,说明它是由顶点集合和边集合构成的一种数据结构,用于描述事物之间的关系等内容。原创 2024-11-22 20:30:00 · 870 阅读 · 0 评论 -
【数据结构】堆
堆是一种特殊的完全二叉树数据结构,它分为两种类型:最大堆和最小堆。在最大堆中,每个节点的值都大于或等于它的子节点的值;而在最小堆中,每个节点的值都小于或等于它的子节点的值。例如,对于一个最大堆,根节点存储的是整棵树中的最大值,对于最小堆来说,根节点存储的则是整棵树中的最小值。堆这种数据结构常用于实现优先队列,能够高效地进行插入和删除最值的操作。原创 2024-11-22 07:00:00 · 1015 阅读 · 0 评论 -
【数据结构】树
树是一种非线性的数据结构,它由nnnn≥0n\geq0n≥0)个节点组成的有限集合。当n0n = 0n0时,被称为空树;当n0n > 0n0时,存在一个特定的节点作为根节点,其余节点可以划分成mmmm≥0m\geq0m≥0)个互不相交的有限集合,并且每个这样的集合本身也是一棵树,称作根节点的子树。原创 2024-11-22 05:30:00 · 908 阅读 · 0 评论 -
【数据结构】多维数组和广义表
多维数组是线性表在维度上的扩展。从数学角度看,一个nnn维数组可以被定义为一个由多个下标确定元素位置的元素集合。例如,二维数组Am×nAm×n是一个包含m×nm\times nm×n个元素的有序集合,其中每个元素aija_{ij}aij1≤i≤m1≤i≤m1≤j≤n1≤j≤n)通过两个下标iii和jjj来唯一标识其在数组中的位置。三维数组Al×m×nAl×m×n则是一个具有l×。原创 2024-11-22 00:31:42 · 1041 阅读 · 0 评论 -
【数据结构】串
串(String),又称为字符串,是由零个或多个字符组成的有限序列。一般记作,其中S为串名,双引号括起来的内容是串的值,ai1 ≤ i ≤ n)表示串中的单个字符,n称为串的长度。当n = 0时,称之为空串,它不包含任何字符。需要注意的是,空格字符组成的串(例如" ")也是有长度的,长度为空格的个数,并非空串。另外,还有子串的概念,串中任意个连续的字符组成的序列称为该串的子串,例如,对于串"bcd"就是它的一个子串,而包含原串的那个串称为主串。原创 2024-11-21 11:30:00 · 1599 阅读 · 1 评论 -
【数据结构】栈和队列
栈是一种只能在一端进行插入和删除操作的特殊线性表。这一端被称为栈顶(top),另一端则为栈底(bottom)。就好比一摞盘子,只能从最上面(栈顶)放盘子进去或者取盘子出来,最后放上去的盘子总是最先被取出来,这体现了栈的“后进先出”特性。栈中的元素个数称为栈的长度,当栈中没有元素时,称之为空栈。队列是一种只能在一端进行插入操作(队尾,rear),在另一端进行删除操作(队头,front)的特殊线性表。它遵循“先进先出”的原则,就好比排队买票,先到的人先买票离开,后到的人排在队伍末尾等待。原创 2024-11-21 06:00:00 · 943 阅读 · 0 评论 -
【数据结构】线性表
数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。它主要研究的是数据的逻辑结构、存储结构以及在这些结构上定义的运算。逻辑结构描述了数据元素之间的逻辑关系,比如线性结构、树形结构、图状结构等。存储结构则关注数据元素及其关系在计算机存储器中的存储方式,常见的有顺序存储、链式存储等。通过合理地选择和运用数据结构,可以更高效地解决实际问题,提高程序的运行效率和性能。线性表是由n(n≥0)个具有相同类型的数据元素组成的有限序列。原创 2024-11-21 04:00:00 · 955 阅读 · 0 评论 -
【数据结构】入门基础
数据结构是计算机存储、组织数据的方式。它旨在高效地管理和操作数据,以便在解决各种实际问题时能够快速地进行数据的插入、删除、查找等操作。合理的数据结构选择可以极大地提高程序的运行效率。例如,我们要管理一个学校学生的信息,包括姓名、学号、成绩等,如果只是简单地将这些信息杂乱无章地存放,后续要查找某个学生或者统计成绩等操作就会变得非常困难,但通过合适的数据结构(如数组、链表等)来组织这些数据,就能轻松应对各类需求。原创 2024-11-21 03:15:00 · 1919 阅读 · 0 评论