摘要:
3.1符号表符号表最主要的目的就是将一个键和一个值联系起来。用例能够将一个键值对插入符号表并希望在之后能够从符号表的所有键值对中按照键值姐找到对应的值。要实现符号表,我们首先要定义其背后的数据结构,并指明创建并操作这种数据结构以实现插入、查找操作所需要的算法。查找在大多数应用程序中都至关重要,许多编... 阅读全文
摘要:
2.4.5 堆排序我们可以把任意优先队列变成一种排序方法。将所有元素插入一个查找最小元素的有限队列,然后再重复调用删除最小元素的操作来将他们按顺序删去。用无序数组实现的优先队列这么做相当于进行一次插入排序。用基于堆底优先队列这样做等同于哪种排序?一种全新的排序方法!我们就用堆来实现一种经典的排序算法... 阅读全文
摘要:
· 学后心得体会与部分习题实现心得体会:曾经只是了解了优先队列的基本性质,并会调用C++ STL库中的priority_queue以及 java.util.PriorityQueue中的优先队列封装类,但是没有看过源码,也并不曾知道实现方法用到了堆结构。优先队列通过堆进行插入元素和删除最小元素的两种... 阅读全文
摘要:
命题Q。对于一个含有N个元素的基于堆叠优先队列,插入元素操作只需要不超过(lgN + 1)次比较,删除最大元素的操作需要不超过2lgN次比较。证明。由命题P可知,两种操作都需要在根节点和堆底之间移动元素,而路径的长度不超过lgN。对于路径上的每个节点,删除最大元素需要两次比比较(除了堆底元素),一次... 阅读全文
摘要:
题目连接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=163#ProblemVerdictLanguageRun TimeSubmission Date1... 阅读全文
摘要:
题目连接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=247&page=show_problem&problem=3666137646221225Digit CountingAccepte... 阅读全文
摘要:
1.1.2 CSS选择器CSS 选择器最基本的有四种:标签选择器、ID 选择器、类选择器、通用选择器。【标签选择器】一个完整的 HTML 页面由很多不同的标签组成,而标签选择器,则是决定哪些标签采用相应的 CSS 样式,比如,在 style.css 文件中对 p 标签样式的声明如下:p { font... 阅读全文
摘要:
1.1 你必须知道的知识(其中包括1.1.1 DIV + CSS的叫法解释;1.1.2 DIV + CSS 名字的误区;以及1.1.3 W3C简介。由于只是背景知识,跳过该章。)1.2 你必须掌握的基础1.2.1 CSS如何控制使用 xHTML+CSS 布尿页面,其中有个很重要的特点就是结构与表现相... 阅读全文
摘要:
2.4.4 堆的算法我们用长度为 N + 1的私有数组pq[]来表示一个大小为N的堆,我们不会使用pq[0],堆元素放在pq[1]至pq[N]中。在排序算法中,我们只能通过私有辅助函数less()和exch()来访问元素,但因为所有的元素都在数组pq[]中,我们在2.4.4.2节中会使用更加紧凑的实... 阅读全文
摘要:
2.4.3 堆的定义数据结构二叉堆能够很好地实现优先队列的基本操作。在二叉堆的数组中,每个元素都要保证大于等于另两个特定位置的元素。相应地,这些位置的元素又至少要大于等于数组中的两个元素,以此类推。如果我们将所有元素画成一棵二叉树,将每个较大元素和两个较小的元素用边连接就可以很容易看出这种结构。定义... 阅读全文