面试官:写一个堆排吧
我心想:堆排是什么鬼
理解堆排,首先要理解二叉堆。理解了二叉堆的“下沉”操作,基本上就可以理解堆排了。今天我们来看一看什么是堆,以及堆的一般操作
优先级队列
近日,谦子遇到了烦心事,于是找老师去诉苦了
谦子: 老师,最近好烦啊
克: 哦,怎么了?
谦子: 最近感觉好多事,前一天晚上计划好的事第二天总是乱套
克: 怎么讲?
谦子: 比如昨天吧,前天计划好要Coding两小时、健身一小时…
谦子列了几个要做的事
谦子: 可是到了第二天,Coding的时候,室友让我来一把荒野行动,刷头条的时候女朋友又打来电话,到头来啥都没弄好
谦子道出了心中的苦
克: 这个其实好办,首先你心里对每件事都要有一个“重要的程度”,就称为优先级吧,你可以优先级高的先做,低的后做
谦子两眼发光
克: 你可以做优先级最高的事情,做完后删除它,然后做剩下优先级