
(完)c#数据结构与算法
文章平均质量分 94
无论你是编程初学者还是有一定基础的开发者,数据结构与算法专栏都能为你提供全面深入的学习资源和支持。通过本专栏的学习,你将能够掌握数据结构与算法的核心知识,提升编程技能,为未来的软件开发和创新打下坚实的基础。
愚公搬代码
《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。
《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主,2024年华为云十佳博主等。
《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
展开
-
【愚公系列】五大常用算法(五)-分支限界算法
五大常用算法的特点如下:分治:将一个大问题拆分成若干个小问题,分别解决,然后将解决结果合并起来得到整个问题的解。分治算法的特点是递归,效率高,但对数据的规律要求比较高,需要较高的算法设计技巧。常见应用领域为排序、查找和统计等。动态规划:将一个大问题分解成若干个小问题,通过寻找子问题之间的递推关系,求解小问题的最优解,然后将小问题的最优解组合起来解决整个大问题。动态规划的特点是可以解决具有重叠子问题的问题,但需要较高的时间和空间复杂度。常见应用领域为求解最大子序列、背包问题等。原创 2023-10-04 23:32:00 · 49920 阅读 · 1 评论 -
【愚公系列】五大常用算法(四)-贪心算法
五大常用算法的特点如下:分治:将一个大问题拆分成若干个小问题,分别解决,然后将解决结果合并起来得到整个问题的解。分治算法的特点是递归,效率高,但对数据的规律要求比较高,需要较高的算法设计技巧。常见应用领域为排序、查找和统计等。动态规划:将一个大问题分解成若干个小问题,通过寻找子问题之间的递推关系,求解小问题的最优解,然后将小问题的最优解组合起来解决整个大问题。动态规划的特点是可以解决具有重叠子问题的问题,但需要较高的时间和空间复杂度。常见应用领域为求解最大子序列、背包问题等。原创 2023-10-03 22:26:32 · 49949 阅读 · 6 评论 -
【愚公系列】五大常用算法(三)-动态规划算法
五大常用算法的特点如下:分治:将一个大问题拆分成若干个小问题,分别解决,然后将解决结果合并起来得到整个问题的解。分治算法的特点是递归,效率高,但对数据的规律要求比较高,需要较高的算法设计技巧。常见应用领域为排序、查找和统计等。动态规划:将一个大问题分解成若干个小问题,通过寻找子问题之间的递推关系,求解小问题的最优解,然后将小问题的最优解组合起来解决整个大问题。动态规划的特点是可以解决具有重叠子问题的问题,但需要较高的时间和空间复杂度。常见应用领域为求解最大子序列、背包问题等。原创 2023-10-03 22:25:32 · 50161 阅读 · 1 评论 -
【愚公系列】五大常用算法(二)-回溯算法
五大常用算法的特点如下:分治:将一个大问题拆分成若干个小问题,分别解决,然后将解决结果合并起来得到整个问题的解。分治算法的特点是递归,效率高,但对数据的规律要求比较高,需要较高的算法设计技巧。常见应用领域为排序、查找和统计等。动态规划:将一个大问题分解成若干个小问题,通过寻找子问题之间的递推关系,求解小问题的最优解,然后将小问题的最优解组合起来解决整个大问题。动态规划的特点是可以解决具有重叠子问题的问题,但需要较高的时间和空间复杂度。常见应用领域为求解最大子序列、背包问题等。原创 2023-10-02 22:34:53 · 49973 阅读 · 4 评论 -
【愚公系列】五大常用算法(一)-分治算法
五大常用算法的特点如下:分治:将一个大问题拆分成若干个小问题,分别解决,然后将解决结果合并起来得到整个问题的解。分治算法的特点是递归,效率高,但对数据的规律要求比较高,需要较高的算法设计技巧。常见应用领域为排序、查找和统计等。动态规划:将一个大问题分解成若干个小问题,通过寻找子问题之间的递推关系,求解小问题的最优解,然后将小问题的最优解组合起来解决整个大问题。动态规划的特点是可以解决具有重叠子问题的问题,但需要较高的时间和空间复杂度。常见应用领域为求解最大子序列、背包问题等。原创 2023-10-02 22:33:40 · 49964 阅读 · 2 评论 -
【愚公系列】十一大排序算法(十一)-二叉树排序
排序算法是一种将一组数据按照特定的规则进行排列的方法。排序算法通常用于对数据的处理,使得数据能够更容易地被查找、比较和分析。下面是常见的11种排序算法:冒泡排序(Bubble Sort):比较相邻的元素,如果前面的元素大于后面的元素,就交换这两个元素的位置。时间复杂度为O(n^2)。选择排序(Selection Sort):在未排序的数据中找到最小(大)的元素,放置在已排序的数据末尾。时间复杂度为O(n^2)。原创 2020-08-28 14:34:09 · 478468 阅读 · 2 评论 -
【愚公系列】十一大排序算法(十)-基数排序
排序算法是一种将一组数据按照特定的规则进行排列的方法。排序算法通常用于对数据的处理,使得数据能够更容易地被查找、比较和分析。下面是常见的11种排序算法:冒泡排序(Bubble Sort):比较相邻的元素,如果前面的元素大于后面的元素,就交换这两个元素的位置。时间复杂度为O(n^2)。选择排序(Selection Sort):在未排序的数据中找到最小(大)的元素,放置在已排序的数据末尾。时间复杂度为O(n^2)。原创 2020-08-28 10:30:54 · 478615 阅读 · 1 评论 -
【愚公系列】十一大排序算法(九)-桶排序
排序算法是一种将一组数据按照特定的规则进行排列的方法。排序算法通常用于对数据的处理,使得数据能够更容易地被查找、比较和分析。下面是常见的11种排序算法:冒泡排序(Bubble Sort):比较相邻的元素,如果前面的元素大于后面的元素,就交换这两个元素的位置。时间复杂度为O(n^2)。选择排序(Selection Sort):在未排序的数据中找到最小(大)的元素,放置在已排序的数据末尾。时间复杂度为O(n^2)。原创 2020-08-25 23:59:23 · 480574 阅读 · 1 评论 -
【愚公系列】十一大排序算法(八)-计数排序
排序算法是一种将一组数据按照特定的规则进行排列的方法。排序算法通常用于对数据的处理,使得数据能够更容易地被查找、比较和分析。下面是常见的11种排序算法:冒泡排序(Bubble Sort):比较相邻的元素,如果前面的元素大于后面的元素,就交换这两个元素的位置。时间复杂度为O(n^2)。选择排序(Selection Sort):在未排序的数据中找到最小(大)的元素,放置在已排序的数据末尾。时间复杂度为O(n^2)。原创 2020-08-24 17:26:47 · 480968 阅读 · 3 评论 -
【愚公系列】十一大排序算法(七)-归并排序
排序算法是一种将一组数据按照特定的规则进行排列的方法。排序算法通常用于对数据的处理,使得数据能够更容易地被查找、比较和分析。下面是常见的11种排序算法:冒泡排序(Bubble Sort):比较相邻的元素,如果前面的元素大于后面的元素,就交换这两个元素的位置。时间复杂度为O(n^2)。选择排序(Selection Sort):在未排序的数据中找到最小(大)的元素,放置在已排序的数据末尾。时间复杂度为O(n^2)。原创 2020-08-24 17:26:08 · 480581 阅读 · 1 评论 -
【愚公系列】十一大排序算法(六)-堆排序
排序算法是一种将一组数据按照特定的规则进行排列的方法。排序算法通常用于对数据的处理,使得数据能够更容易地被查找、比较和分析。下面是常见的11种排序算法:冒泡排序(Bubble Sort):比较相邻的元素,如果前面的元素大于后面的元素,就交换这两个元素的位置。时间复杂度为O(n^2)。选择排序(Selection Sort):在未排序的数据中找到最小(大)的元素,放置在已排序的数据末尾。时间复杂度为O(n^2)。原创 2020-08-24 17:25:17 · 480950 阅读 · 1 评论 -
【愚公系列】十一大排序算法(五)-选择排序
排序算法是一种将一组数据按照特定的规则进行排列的方法。排序算法通常用于对数据的处理,使得数据能够更容易地被查找、比较和分析。下面是常见的11种排序算法:冒泡排序(Bubble Sort):比较相邻的元素,如果前面的元素大于后面的元素,就交换这两个元素的位置。时间复杂度为O(n^2)。选择排序(Selection Sort):在未排序的数据中找到最小(大)的元素,放置在已排序的数据末尾。时间复杂度为O(n^2)。原创 2020-08-24 17:13:15 · 480821 阅读 · 1 评论 -
【愚公系列】十一大排序算法(四)-希尔排序
排序算法是一种将一组数据按照特定的规则进行排列的方法。排序算法通常用于对数据的处理,使得数据能够更容易地被查找、比较和分析。下面是常见的11种排序算法:冒泡排序(Bubble Sort):比较相邻的元素,如果前面的元素大于后面的元素,就交换这两个元素的位置。时间复杂度为O(n^2)。选择排序(Selection Sort):在未排序的数据中找到最小(大)的元素,放置在已排序的数据末尾。时间复杂度为O(n^2)。原创 2020-08-24 17:10:54 · 480764 阅读 · 1 评论 -
【愚公系列】十一大排序算法(三)-插入排序
排序算法是一种将一组数据按照特定的规则进行排列的方法。排序算法通常用于对数据的处理,使得数据能够更容易地被查找、比较和分析。下面是常见的11种排序算法:冒泡排序(Bubble Sort):比较相邻的元素,如果前面的元素大于后面的元素,就交换这两个元素的位置。时间复杂度为O(n^2)。选择排序(Selection Sort):在未排序的数据中找到最小(大)的元素,放置在已排序的数据末尾。时间复杂度为O(n^2)。原创 2020-08-24 17:07:40 · 480809 阅读 · 2 评论 -
【愚公系列】十一大排序算法(二)-快速排序
排序算法是一种将一组数据按照特定的规则进行排列的方法。排序算法通常用于对数据的处理,使得数据能够更容易地被查找、比较和分析。下面是常见的11种排序算法:冒泡排序(Bubble Sort):比较相邻的元素,如果前面的元素大于后面的元素,就交换这两个元素的位置。时间复杂度为O(n^2)。选择排序(Selection Sort):在未排序的数据中找到最小(大)的元素,放置在已排序的数据末尾。时间复杂度为O(n^2)。原创 2020-08-24 13:56:34 · 481003 阅读 · 1 评论 -
【愚公系列】十一大排序算法(一)-冒泡排序
排序算法是一种将一组数据按照特定的规则进行排列的方法。排序算法通常用于对数据的处理,使得数据能够更容易地被查找、比较和分析。下面是常见的11种排序算法:冒泡排序(Bubble Sort):比较相邻的元素,如果前面的元素大于后面的元素,就交换这两个元素的位置。时间复杂度为O(n^2)。选择排序(Selection Sort):在未排序的数据中找到最小(大)的元素,放置在已排序的数据末尾。时间复杂度为O(n^2)。原创 2020-08-24 08:33:38 · 481197 阅读 · 1 评论 -
【愚公系列】十一大排序算法(零)-排序算法简介
排序算法是一种将一组数据按照特定的规则进行排列的方法。排序算法通常用于对数据的处理,使得数据能够更容易地被查找、比较和分析。下面是常见的11种排序算法:冒泡排序(Bubble Sort):比较相邻的元素,如果前面的元素大于后面的元素,就交换这两个元素的位置。时间复杂度为O(n^2)。选择排序(Selection Sort):在未排序的数据中找到最小(大)的元素,放置在已排序的数据末尾。时间复杂度为O(n^2)。原创 2020-08-24 13:59:10 · 481070 阅读 · 1 评论 -
【愚公系列】七大查找算法(七)-分块查找
在编程语言中,查找算法是指在一个数据集合中查找某个元素是否存在的算法。常见的查找算法包括:顺序查找(Sequential Search):逐个遍历数据集来查找目标元素,时间复杂度为O(n)。二分查找(Binary Search):在有序数据集合中,从中间位置作为起点不断划分区间并查找,时间复杂度为O(log n)。插值查找(Interpolation Search):在有序数据集合中,根据目标元素与数据集合首尾之间的差值,利用插值估算目标元素的位置,时间复杂度为O(log log n)或O(n)。原创 2020-08-28 15:10:36 · 478539 阅读 · 6 评论 -
【愚公系列】七大查找算法(六)-哈希查找
在编程语言中,查找算法是指在一个数据集合中查找某个元素是否存在的算法。常见的查找算法包括:顺序查找(Sequential Search):逐个遍历数据集来查找目标元素,时间复杂度为O(n)。二分查找(Binary Search):在有序数据集合中,从中间位置作为起点不断划分区间并查找,时间复杂度为O(log n)。插值查找(Interpolation Search):在有序数据集合中,根据目标元素与数据集合首尾之间的差值,利用插值估算目标元素的位置,时间复杂度为O(log log n)或O(n)。原创 2020-08-28 15:14:45 · 478332 阅读 · 0 评论 -
【愚公系列】七大查找算法(五)-树查找
在编程语言中,查找算法是指在一个数据集合中查找某个元素是否存在的算法。常见的查找算法包括:顺序查找(Sequential Search):逐个遍历数据集来查找目标元素,时间复杂度为O(n)。二分查找(Binary Search):在有序数据集合中,从中间位置作为起点不断划分区间并查找,时间复杂度为O(log n)。插值查找(Interpolation Search):在有序数据集合中,根据目标元素与数据集合首尾之间的差值,利用插值估算目标元素的位置,时间复杂度为O(log log n)或O(n)。原创 2020-08-28 14:02:52 · 478391 阅读 · 1 评论 -
【愚公系列】七大查找算法(四)-斐波那契查找
在编程语言中,查找算法是指在一个数据集合中查找某个元素是否存在的算法。常见的查找算法包括:顺序查找(Sequential Search):逐个遍历数据集来查找目标元素,时间复杂度为O(n)。二分查找(Binary Search):在有序数据集合中,从中间位置作为起点不断划分区间并查找,时间复杂度为O(log n)。插值查找(Interpolation Search):在有序数据集合中,根据目标元素与数据集合首尾之间的差值,利用插值估算目标元素的位置,时间复杂度为O(log log n)或O(n)。原创 2020-08-28 13:35:09 · 478366 阅读 · 0 评论 -
【愚公系列】七大查找算法(三)-插值查找
在编程语言中,查找算法是指在一个数据集合中查找某个元素是否存在的算法。常见的查找算法包括:顺序查找(Sequential Search):逐个遍历数据集来查找目标元素,时间复杂度为O(n)。二分查找(Binary Search):在有序数据集合中,从中间位置作为起点不断划分区间并查找,时间复杂度为O(log n)。插值查找(Interpolation Search):在有序数据集合中,根据目标元素与数据集合首尾之间的差值,利用插值估算目标元素的位置,时间复杂度为O(log log n)或O(n)。原创 2020-08-28 12:00:37 · 477883 阅读 · 0 评论 -
【愚公系列】七大查找算法(二)-二分查找
在编程语言中,查找算法是指在一个数据集合中查找某个元素是否存在的算法。常见的查找算法包括:顺序查找(Sequential Search):逐个遍历数据集来查找目标元素,时间复杂度为O(n)。二分查找(Binary Search):在有序数据集合中,从中间位置作为起点不断划分区间并查找,时间复杂度为O(log n)。插值查找(Interpolation Search):在有序数据集合中,根据目标元素与数据集合首尾之间的差值,利用插值估算目标元素的位置,时间复杂度为O(log log n)或O(n)。原创 2020-08-28 11:31:00 · 478284 阅读 · 0 评论 -
【愚公系列】七大查找算法(一)-顺序查找
在编程语言中,查找算法是指在一个数据集合中查找某个元素是否存在的算法。常见的查找算法包括:顺序查找(Sequential Search):逐个遍历数据集来查找目标元素,时间复杂度为O(n)。二分查找(Binary Search):在有序数据集合中,从中间位置作为起点不断划分区间并查找,时间复杂度为O(log n)。插值查找(Interpolation Search):在有序数据集合中,根据目标元素与数据集合首尾之间的差值,利用插值估算目标元素的位置,时间复杂度为O(log log n)或O(n)。原创 2020-08-28 11:21:48 · 478660 阅读 · 0 评论 -
【愚公系列】数据结构(十四)-图
数据结构是计算机科学中的一个重要概念,它描述了数据之间的组织方式和关系,以及对这些数据的访问和操作。常见的数据结构有:数组、链表、栈、队列、哈希表、树、堆和图。数组(Array):是一种线性数据结构,它将一组具有相同类型的数据元素存储在一起,并为每个元素分配一个唯一的索引。数组的特点是具有随机访问的能力。链表(Linked List):也是一种线性数据结构,它由一系列的节点组成,每个节点包含数据和指向下一个节点的引用。链表的特点是可以动态地插入或删除节点,但访问某个节点时需要从头开始遍历。原创 2023-10-01 23:27:28 · 49859 阅读 · 4 评论 -
【愚公系列】数据结构(十三)-堆
数据结构是计算机科学中的一个重要概念,它描述了数据之间的组织方式和关系,以及对这些数据的访问和操作。常见的数据结构有:数组、链表、栈、队列、哈希表、树、堆和图。数组(Array):是一种线性数据结构,它将一组具有相同类型的数据元素存储在一起,并为每个元素分配一个唯一的索引。数组的特点是具有随机访问的能力。链表(Linked List):也是一种线性数据结构,它由一系列的节点组成,每个节点包含数据和指向下一个节点的引用。链表的特点是可以动态地插入或删除节点,但访问某个节点时需要从头开始遍历。原创 2023-10-01 23:26:34 · 43341 阅读 · 2 评论 -
【愚公系列】数据结构(十二)-红黑树
数据结构是计算机科学中的一个重要概念,它描述了数据之间的组织方式和关系,以及对这些数据的访问和操作。常见的数据结构有:数组、链表、栈、队列、哈希表、树、堆和图。数组(Array):是一种线性数据结构,它将一组具有相同类型的数据元素存储在一起,并为每个元素分配一个唯一的索引。数组的特点是具有随机访问的能力。链表(Linked List):也是一种线性数据结构,它由一系列的节点组成,每个节点包含数据和指向下一个节点的引用。链表的特点是可以动态地插入或删除节点,但访问某个节点时需要从头开始遍历。原创 2020-08-24 08:13:28 · 481207 阅读 · 2 评论 -
【愚公系列】数据结构(十一)-线段树
数据结构是计算机科学中的一个重要概念,它描述了数据之间的组织方式和关系,以及对这些数据的访问和操作。常见的数据结构有:数组、链表、栈、队列、哈希表、树、堆和图。数组(Array):是一种线性数据结构,它将一组具有相同类型的数据元素存储在一起,并为每个元素分配一个唯一的索引。数组的特点是具有随机访问的能力。链表(Linked List):也是一种线性数据结构,它由一系列的节点组成,每个节点包含数据和指向下一个节点的引用。链表的特点是可以动态地插入或删除节点,但访问某个节点时需要从头开始遍历。原创 2020-08-23 21:34:56 · 481606 阅读 · 1 评论 -
【愚公系列】数据结构(十)-Trie树
数据结构是计算机科学中的一个重要概念,它描述了数据之间的组织方式和关系,以及对这些数据的访问和操作。常见的数据结构有:数组、链表、栈、队列、哈希表、树、堆和图。数组(Array):是一种线性数据结构,它将一组具有相同类型的数据元素存储在一起,并为每个元素分配一个唯一的索引。数组的特点是具有随机访问的能力。链表(Linked List):也是一种线性数据结构,它由一系列的节点组成,每个节点包含数据和指向下一个节点的引用。链表的特点是可以动态地插入或删除节点,但访问某个节点时需要从头开始遍历。原创 2020-08-23 21:35:23 · 481285 阅读 · 1 评论 -
【愚公系列】数据结构(九)-AVL树
数据结构是计算机科学中的一个重要概念,它描述了数据之间的组织方式和关系,以及对这些数据的访问和操作。常见的数据结构有:数组、链表、栈、队列、哈希表、树、堆和图。数组(Array):是一种线性数据结构,它将一组具有相同类型的数据元素存储在一起,并为每个元素分配一个唯一的索引。数组的特点是具有随机访问的能力。链表(Linked List):也是一种线性数据结构,它由一系列的节点组成,每个节点包含数据和指向下一个节点的引用。链表的特点是可以动态地插入或删除节点,但访问某个节点时需要从头开始遍历。原创 2020-08-23 21:44:38 · 481494 阅读 · 1 评论 -
【愚公系列】数据结构(八)-二叉树
数据结构是计算机科学中的一个重要概念,它描述了数据之间的组织方式和关系,以及对这些数据的访问和操作。常见的数据结构有:数组、链表、栈、队列、哈希表、树、堆和图。数组(Array):是一种线性数据结构,它将一组具有相同类型的数据元素存储在一起,并为每个元素分配一个唯一的索引。数组的特点是具有随机访问的能力。链表(Linked List):也是一种线性数据结构,它由一系列的节点组成,每个节点包含数据和指向下一个节点的引用。链表的特点是可以动态地插入或删除节点,但访问某个节点时需要从头开始遍历。原创 2020-08-23 21:31:42 · 481623 阅读 · 1 评论 -
【愚公系列】数据结构(七)-哈希表
数据结构是计算机科学中的一个重要概念,它描述了数据之间的组织方式和关系,以及对这些数据的访问和操作。常见的数据结构有:数组、链表、栈、队列、哈希表、树、堆和图。数组(Array):是一种线性数据结构,它将一组具有相同类型的数据元素存储在一起,并为每个元素分配一个唯一的索引。数组的特点是具有随机访问的能力。链表(Linked List):也是一种线性数据结构,它由一系列的节点组成,每个节点包含数据和指向下一个节点的引用。链表的特点是可以动态地插入或删除节点,但访问某个节点时需要从头开始遍历。原创 2020-08-23 21:28:52 · 481535 阅读 · 1 评论 -
【愚公系列】数据结构(六)-双向队列
数据结构是计算机科学中的一个重要概念,它描述了数据之间的组织方式和关系,以及对这些数据的访问和操作。常见的数据结构有:数组、链表、栈、队列、哈希表、树、堆和图。数组(Array):是一种线性数据结构,它将一组具有相同类型的数据元素存储在一起,并为每个元素分配一个唯一的索引。数组的特点是具有随机访问的能力。链表(Linked List):也是一种线性数据结构,它由一系列的节点组成,每个节点包含数据和指向下一个节点的引用。链表的特点是可以动态地插入或删除节点,但访问某个节点时需要从头开始遍历。原创 2023-09-30 21:43:34 · 43234 阅读 · 14 评论 -
【愚公系列】数据结构(五)-队列
数据结构是计算机科学中的一个重要概念,它描述了数据之间的组织方式和关系,以及对这些数据的访问和操作。常见的数据结构有:数组、链表、栈、队列、哈希表、树、堆和图。数组(Array):是一种线性数据结构,它将一组具有相同类型的数据元素存储在一起,并为每个元素分配一个唯一的索引。数组的特点是具有随机访问的能力。链表(Linked List):也是一种线性数据结构,它由一系列的节点组成,每个节点包含数据和指向下一个节点的引用。链表的特点是可以动态地插入或删除节点,但访问某个节点时需要从头开始遍历。原创 2020-08-23 21:16:11 · 481521 阅读 · 1 评论 -
【愚公系列】数据结构(四)-栈
数据结构是计算机科学中的一个重要概念,它描述了数据之间的组织方式和关系,以及对这些数据的访问和操作。常见的数据结构有:数组、链表、栈、队列、哈希表、树、堆和图。数组(Array):是一种线性数据结构,它将一组具有相同类型的数据元素存储在一起,并为每个元素分配一个唯一的索引。数组的特点是具有随机访问的能力。链表(Linked List):也是一种线性数据结构,它由一系列的节点组成,每个节点包含数据和指向下一个节点的引用。链表的特点是可以动态地插入或删除节点,但访问某个节点时需要从头开始遍历。原创 2023-09-30 21:42:55 · 43154 阅读 · 2 评论 -
【愚公系列】数据结构(三)-列表
数据结构是计算机科学中的一个重要概念,它描述了数据之间的组织方式和关系,以及对这些数据的访问和操作。常见的数据结构有:数组、链表、栈、队列、哈希表、树、堆和图。数组(Array):是一种线性数据结构,它将一组具有相同类型的数据元素存储在一起,并为每个元素分配一个唯一的索引。数组的特点是具有随机访问的能力。链表(Linked List):也是一种线性数据结构,它由一系列的节点组成,每个节点包含数据和指向下一个节点的引用。链表的特点是可以动态地插入或删除节点,但访问某个节点时需要从头开始遍历。原创 2023-09-29 22:15:01 · 43239 阅读 · 14 评论 -
【愚公系列】数据结构(二)-链表
数据结构是计算机科学中的一个重要概念,它描述了数据之间的组织方式和关系,以及对这些数据的访问和操作。常见的数据结构有:数组、链表、栈、队列、哈希表、树、堆和图。数组(Array):是一种线性数据结构,它将一组具有相同类型的数据元素存储在一起,并为每个元素分配一个唯一的索引。数组的特点是具有随机访问的能力。链表(Linked List):也是一种线性数据结构,它由一系列的节点组成,每个节点包含数据和指向下一个节点的引用。链表的特点是可以动态地插入或删除节点,但访问某个节点时需要从头开始遍历。原创 2020-08-22 22:17:49 · 481547 阅读 · 2 评论 -
【愚公系列】数据结构(一)-数组
数据结构是计算机科学中的一个重要概念,它描述了数据之间的组织方式和关系,以及对这些数据的访问和操作。常见的数据结构有:数组、链表、栈、队列、哈希表、树、堆和图。数组(Array):是一种线性数据结构,它将一组具有相同类型的数据元素存储在一起,并为每个元素分配一个唯一的索引。数组的特点是具有随机访问的能力。链表(Linked List):也是一种线性数据结构,它由一系列的节点组成,每个节点包含数据和指向下一个节点的引用。链表的特点是可以动态地插入或删除节点,但访问某个节点时需要从头开始遍历。原创 2020-08-22 22:15:32 · 481577 阅读 · 2 评论 -
【愚公系列】数据结构(零)-数据结构简介
数据结构是计算机科学中的一个重要概念,它描述了数据之间的组织方式和关系,以及对这些数据的访问和操作。常见的数据结构有:数组、链表、栈、队列、哈希表、树、堆和图。数组(Array):是一种线性数据结构,它将一组具有相同类型的数据元素存储在一起,并为每个元素分配一个唯一的索引。数组的特点是具有随机访问的能力。链表(Linked List):也是一种线性数据结构,它由一系列的节点组成,每个节点包含数据和指向下一个节点的引用。链表的特点是可以动态地插入或删除节点,但访问某个节点时需要从头开始遍历。原创 2023-09-29 22:14:19 · 43293 阅读 · 2 评论