优先队列和堆排序标签(空格分隔): 排序算法 数据结构优先队列和堆排序
优先队列
堆
1 基于堆的算法
初始化
自底向上堆化
自顶向下堆化
插入删除一项
2 堆排序
优先队列全部代码
1 优先队列普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出 (largest-in,first-...
分类:
编程语言 时间:
2015-04-08 10:59:15
阅读次数:
214
上篇笔记介绍了语法分析相关的一些基础概念,本篇笔记根据龙书第2.5节的内容实现一个针对简单表达式的后缀式语法翻译器Demo。
备注:原书中的demo是java实例,我给出的将是逻辑一致的Python版本的实现。
在简单后缀翻译器代码实现之前,还需要介绍几个基本概念。
1. 自顶向下分析法(top-down parsing)
顾名思义,top-down分析法的思路是推导产生式时,以产生式开始...
分类:
编程语言 时间:
2015-04-06 14:19:05
阅读次数:
384
我推荐的一种使用自顶向下的优化论。这种方法,首先分析实例级的等待时间,在通过一系列步骤将其不断细化,知道找出系统中导致大量等待的进程/组件。一旦找出这些令人讨厌的进程,就可以集中优化他们了,一下是这种方法论的不主要步骤:1.分析实例级别的等待2.关联等待和队列3.确定方案4.细化到数据库/文件级。5...
分类:
数据库 时间:
2015-04-02 22:28:29
阅读次数:
215
博主一直相信一件事情:任何互联网底层的创新都是自顶向下的。SDN的兴起不是因为Martin Casado脑洞大开才主张要控制和转发平面分离。而是因为某些来自于互联网顶层的应用需要对网络设备进行集中控制,集中控制最好...
分类:
其他好文 时间:
2015-03-31 14:54:40
阅读次数:
160
归并操作:是将两个有序独立的文件合并成为一个有序文件的过程。
归并排序:和快速排序的过程相反,它是两个递归调用(排序子文件)后是一个归并的过程。
快速排序时,先分解成两个子问题后是两个递归调用(排序子文件)的过程。归并操作
1 基本的两路归并
2 抽象原位归并
归并排序
1 自顶向下的归并排序
2 自底向上的归并排序
3 归并排序的性能特征
归并排序的链表实现
归并排序与快速排序对比
1. 归并...
分类:
编程语言 时间:
2015-03-30 09:36:46
阅读次数:
250
DHCP是应用层协议,UDP是传输层协议,IP是网络层协议,以太网是链路层协议。数据在网络上传输的时候要自顶向下逐层封装的,典型的DHCP过程是这样的:1:客户机向服务器发送DHCP_DISCOVER报文,申请IP。2:服务器向客户机返会DHCP_OFFER报文,指定一个将要分配的IP。3:客户机向...
分类:
其他好文 时间:
2015-03-20 20:27:34
阅读次数:
842
十年运维系列之基础篇 - Linux作者:曾林联系:1494445739@qq.com网站:www.jplatformx.com版权:文章未经同意请勿转载一、引言 随着程序越来越大,越来越复杂,设计、编码和维护都将越来越困难。所以,在设计任何大型项目的时候,我们最好将庞大的、复杂的任务,拆分成一.....
分类:
系统相关 时间:
2015-03-17 11:47:23
阅读次数:
212
软件测试第一周:第一章:软件测试:软件测试是一种活动,目的在于评价一个程序或系统的属性或能力,决定它符合它自身所需要的结果。进行测试的目的:1.因为我们不是足够好的程序员2.没有集中足够的精力去克服错误3.有时忘记使用全构造化的编成,自顶向下的设计得到我们的解决方案4.我们本应该区分出其他程序员或客...
分类:
其他好文 时间:
2015-03-14 21:29:19
阅读次数:
117
软件测试是一种活动,目的在于评价一个程序或系统的属性或能力,决定它符合它自身所需要的结果。软件是否满足需求,找出falut. 是“艺术”。进行测试,主要是因为我们还不是足够好的程序员,没有集中足够的精力去克服错误,有时忘记使用全构造化的编成,自顶向下的设计得到我们的解决方案,我们本应该区分出其他程序...
分类:
其他好文 时间:
2015-03-14 16:39:12
阅读次数:
123