摘要: 数据结构与算法之ACM Fellow-算法 2.2 归并排序 在本节中我们所讨论的算法都基于 归并 这个简单的操作,即将两个有序的数组归并成一个更大的有序数组。很快人们就根据这个操作发明了一种简单的递归排序算法: 归并排序。要将一个数组排序,可以先(递归地)将它分成两半分别排序,然后将结果归并起来。 阅读全文
posted @ 2025-04-11 18:24 牛牛cowcow 阅读(33) 评论(0) 推荐(0)
摘要: 数据结构与算法之ACM Fellow-算法 2.1 初级排序算法 作为对排序算法领域的第一次探索,我们将学习两种初级的排序算法以及其中一种的一个变体。深入学习这些相对简单的算法的原因在于:第一,我们将通过它们熟悉一些术语和简单的技巧;第二,这些简单的算法在某些情况下比我们之后将会讨论的复杂算法更有效 阅读全文
posted @ 2025-04-11 18:00 牛牛cowcow 阅读(32) 评论(0) 推荐(0)
摘要: 数据结构与算法之ACM Fellow-算法 1.5 案例研究:union-find 算法 为了说明我们设计和分析算法的基本方法,我们现在来学习一个具体的例子。我们的目的是强调以下几点: 优秀的算法因为能够解决实际问题而变得更为重要; 高效算法的代码也可以很简单; 理解某个实现的性能特点是一项有趣而令 阅读全文
posted @ 2025-04-11 17:04 牛牛cowcow 阅读(63) 评论(0) 推荐(0)
摘要: 数据结构与算法之ACM Fellow-算法 1.2 数据抽象 数据类型 指的是一组值和一组对这些值的操作的集合。目前,我们已经详细讨论过 Java 的 原始 数据类型:例如,原始数据类型 int 的取值范围是 ![-2^ /740932/image00851.gif) 到 ![2^-1/740932 阅读全文
posted @ 2025-04-11 16:43 牛牛cowcow 阅读(54) 评论(0) 推荐(0)
摘要: 数据结构与算法之ACM Fellow-算法 1.3 背包、队列和栈 许多基础数据类型 都和对象的 集合 有关。具体来说,数据类型的值就是一组对象的集合,所有操作都是关于添加、删除或是访问集合中的对象。在本节中,我们将学习三种这样的数据类型,分别是 背包(Bag)、 队列(Queue)和 栈(Stac 阅读全文
posted @ 2025-04-11 15:14 牛牛cowcow 阅读(72) 评论(0) 推荐(0)
摘要: 数据结构与算法之ACM Fellow-算法 2.2 归并排序 在本节中我们所讨论的算法都基于 归并 这个简单的操作,即将两个有序的数组归并成一个更大的有序数组。很快人们就根据这个操作发明了一种简单的递归排序算法: 归并排序。要将一个数组排序,可以先(递归地)将它分成两半分别排序,然后将结果归并起来。 阅读全文
posted @ 2025-04-11 01:43 牛牛cowcow 阅读(43) 评论(0) 推荐(0)
摘要: 数据结构与算法之ACM Fellow-算法2.4 优先队列 许多应用程序都需要处理有序的元素,但不一定要求它们全部有序,或是不一定要一次就将它们排序。很多情况下我们会收集一些元素,处理当前键值最大的元素,然后再收集更多的元素,再处理当前键值最大的元素,如此这般。例如,你可能有一台能够同时运行多个应用 阅读全文
posted @ 2025-04-11 01:37 牛牛cowcow 阅读(36) 评论(0) 推荐(0)
摘要: 数据结构与算法之ACM Fellow-算法 快速排序 本节的主题是 快速排序,它可能是应用最广泛的排序算法了。快速排序流行的原因是它实现简单、适用于各种不同的输入数据且在一般应用中比其他排序算法都要快得多。快速排序引人注目的特点包括它是原地排序(只需要一个很小的辅助栈),且将长度为 的数组排序所需的 阅读全文
posted @ 2025-04-11 01:36 牛牛cowcow 阅读(29) 评论(0) 推荐(0)
摘要: 数据结构与算法之ACM Fellow-算法3.2 二叉查找树 在本节中我们将学习一种能够将链表插入的灵活性和有序数组查找的高效性结合起来的符号表实现。具体来说,就是使用每个结点含有 两个 链接(链表中每个结点只含有一个链接)的二叉查找树来高效地实现符号表,这也是计算机科学中最重要的算法之一。 首先, 阅读全文
posted @ 2025-04-11 01:19 牛牛cowcow 阅读(52) 评论(0) 推荐(0)
摘要: 数据结构与算法之ACM Fellow-算法3.3 平衡查找树 我们在前面几节中学习过的算法已经能够很好地用于许多应用程序中,但它们在最坏情况下的性能还是很糟糕。在本节中我们会介绍一种二分查找树并能 保证 无论如何构造它,它的运行时间都是对数级别的。理想情况下我们希望能够保持二分查找树的平衡性。在一棵 阅读全文
posted @ 2025-04-10 18:01 牛牛cowcow 阅读(38) 评论(0) 推荐(0)