在了解堆排序之前,我们有必要清楚“什么是堆呢?”。
堆(英语:Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。在队列中,调度程序反复提取队列中第一个作业并运行,因为实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当具有优先权。堆即为解决此类问题设计的一种数据结构。
堆的逻辑定义:
堆的实现通过构造二叉堆(英语:binary heap),实为二叉树的一种;由于其应用的普遍性,当不加限定时,均指该数据结构的这种实现。这种数据结构具有以下性质。
任意节点小于(或大于)它的所有后裔,最小元(或最大元)在堆的根上(堆序性)。
堆总是一棵完全树。即
继续阅读 »
序
若水君,近日若有所思。格物数年,难识物之志;奔波于尘嚣之中,不能大隐于市;戚戚于贫贱之间,不能从容处世;于似乎,思索追求之意义,闲言碎语成此篇。
谈点追求
君如是:朝九晚六匆匆过,两点一线来来回,日复一日碌碌度,一日三餐茫茫来;春桃换李心不放,白雪皑皑亦平常;栖栖遑遑奔波苦,麻麻木木无所为。君莫见:当年明月喝茶看史书,看到深处一声吼,写尽“明朝那些事”;唐家三少宅家中,闲来无事写小说,无意造就身百万;喜欢画画的王卯卯,无意创造“兔斯基”……类似之例子,数不胜数。君何曾想,该追求点什么?不是为了生活,不是为赚钱,只是为了兴趣,只是为了给自己一个心灵的寄托……
衡量追求
在一千多年前有一个这样的人:自己吃不饱饭,在某种程度
继续阅读 »
序
前几天,同事让我看看一个问题。
他让几个圆并排成一直线,很简单的一件事情。
排成一行的 7 个圆
继续阅读 »
程序员的思维修炼
【美】Andy Hunt
译者序
2014-08-11 09:04:57
当我们痛苦地追逐时尚的新鲜玩意时,更需放慢脚步,冷静地修炼自己的“内功”,以不变应万变,才能立于不败之地。如果你想改变现状,本书可以作为一个良好的起点
继续阅读 »
序
本文适合使用过 fiddler 、对它有所了解的朋友阅读。
以下内容基于:
操作系统:windows 10
fiddler 版本:v4.6
解决跨域问题
通用情况
用 fiddler 解决跨域问题的原理是通过规则来设置响应头的相应字段。
在 fiddler 右侧的 "详情和数据统计面板" 中找到 FiddlerScript 标签页,里面是一个脚本文件,语法有点像 typeScript ,不难看懂,里面只定义了一个 Handlers 类,可以通过它来编辑 fiddler 菜单栏中的 Rules 选项以及 fiddler 处理请求的回调函数。
继续阅读 »
序
终于有点时间重新回到正常的学习节奏。心里念念不忘GO语言,于是重温一下GO语言的语法,顺便记录下笔记。希望成为一个能实战的GO程序员。
哲学,思想
"21世纪的C语言"
简洁编程哲学的宣言,从长远来看,简洁依然是好软件的关键因素。
Go从C语言继承了相似的表达式语法、控制流结构、基础数据类型、调用参数传值、指针等很多思想。
继续阅读 »
如果考虑一般情况:把n个元素划分成p组(p = k + 8)、每组3个元素,分别计算每种划分的“难用度”然后找出最小值,这种穷举算法时间复杂度巨大、不可用。
题目中说筷子数组l是按长度排好序的,这是一点很重要的提示:如果我们拿l[i]做A筷,则B筷一定是l[i + 1]才能保证(A - B) ^ 2最小,至于C筷,只要它的序号大于i + 1即可。
继续阅读 »
定义
希尔排序(英语:Shell sort),也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。
希尔排序是基于插入排序的以下两点性质而提出改进方法的:
插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率
但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位
more
算法步骤
希尔排序通过将比较的全部元素分为几个区域来提升插入排序的性能。这样可以让一个元素可以一次性地朝最终位置前进一大步。然后算法再取越来越小的步长进行排序,算法的最后一步就是普通的插入排序,但是到了这步,需排序的数据几乎是已排好的了(此时插入排序较快)。
选择步长
按照选择的步长对序列进
继续阅读 »
张五常的经济学说对本人影响很大,重读他的《科学说需求》卷一,希望能对这门学说有新的感悟。同时想让对经济学感兴趣的朋友瞧瞧这门非主流但解释力一流的学说,本人认为《科学说需求》卷一最适合经济学入门。
神州版序
张五常喜欢在文章中提及他的师友,当中获得诺贝尔经济学奖的有 费里德曼、科斯、施蒂格勒。
他还喜欢说自己在中年时决定“少读书甚至不读他家之作,喜欢独自思考”。之所以不读他家之作,是因为他读到过的著作“中所说的所谓事实,大部分没有依凭,有些书引用的全部是假”。
继续阅读 »
序
最近刚好读完这本书,又刚好领到小组分享任务,办公室内又刚好有契合这本书上讲到的四大逻辑的活动。于是就把自己的读书感悟,结合想到的实例分享出来。正文是大致讲稿思路。
正文
《上瘾》是一本畅销书,作者经多年研究和思考,总结出培养用户使用习惯的理论模型。
继续阅读 »