今天面试说手写一个堆排序
之前写过几次
临时叫写,还是很难一下写出来
所以面试之前,一定要刷算法题啊
之前写过几次
临时叫写,还是很难一下写出来
所以面试之前,一定要刷算法题啊
|
1
工作了好多年,我都不记得堆排是什么了,每次排序都调的标准库
|
|
happyylFeb 12, 2017 via Android
2
反正我不会
|
|
PoweredFeb 12, 2017 via iPhone
3
找工作就是刷题加背书
|
|
YourdayeFeb 12, 2017
4
写的时候不能用手机 google ?
|
|
5
不刷题确实不容易,虽然嘴上描述或者伪代码出来很容易,但是敲代码细节容易卡住,需要调试才行,面试还要心里压力之类的,很正常。
|
|
MiranaFeb 12, 2017
6
网络上嘴炮太多了
|
|
gouchaoerFeb 12, 2017 via Android
7
堆排序那么一大堆能写出来的有几个,这面试这么厉害?
|
|
allan888Feb 12, 2017
8
谁家面试让写堆排序了啊?
|
|
gejun123456Feb 12, 2017
9
蛋疼的面试,反问面试官让他写一个。
|
|
10
其实堆排还是挺好写的吧,逻辑清晰,相比快排又没什么容易写错的细节。
(说这样的话会不会被喷呀…… |
|
zgqqFeb 12, 2017 via Android
11
都是大佬
|
|
Em5O7B1JGfjQnBryFeb 12, 2017 via Android
13
堆排还是算简单的吧。。。给纸笔推倒一遍就可以写了吧
|
|
JohnLouFeb 12, 2017
14
大公司面试基本都考这些啊,看了楼上,难道我面的是假的?
|
|
scnaceFeb 12, 2017 via Android
16
伪算法还是直接 code ? 表示不 debug 真写不来……~
|
|
wildlynxFeb 12, 2017
17
简单的二分查找算法,很多人也很难一下子手写出正确的程序来。
|
|
hxndgFeb 12, 2017
18
额。。。。。基本都是就调整需要注意一下。。。剩下的都是几个大概就可以了。。。
|
|
lonenolFeb 12, 2017
19
堆排应该是最好写的了吧。。
|
|
LukeXuanFeb 12, 2017
20
堆排应该是 O(n log n)里面最好写的了...
|
|
21
。。。。。。我虽然能写出来,但堆排序怎么都不是最简单的吧。。。 @LukeXuan merge sort 是 O(nlogn) 时间复杂度里最好写的啊
|
|
qzheng93Feb 12, 2017 via iPhone
23
堆排怕不是太长了吧。而且写堆排意义不大呀,毕竟有优先队列的。
|
|
oska874Feb 12, 2017
24
社招还要现场写代码?
|
|
owt5008137Feb 13, 2017 via Android
25
归并应该才是最好写。
堆排就从后往前扫一次建堆,然后再扫一次换掉堆顶重新建堆就好了嘛。 之前有一次想到手写堆排发现忘记了,后来特意记了一下就一直没忘。 |
|
LokiSharpFeb 13, 2017 via iPhone
26
|
|
LukeXuanFeb 13, 2017
27
@Allianzcortex
@davy1995 个人感觉吧...其实是我 merge 没写过(多一倍空间所以用到很少) 不过仔细想想应该是 merge 简单或者至少一个级别的。总之比 quicksort 方便多了也形象 |
|
zouchuan1993Feb 13, 2017
28
@wodesuck 你的头像是真的骚
|
|
ytmsdyFeb 13, 2017
29
真的很好奇,面试官出这样子的题目的意义在于什么?
考验面试者技术扎实的程度?堆排这鬼东西,实际 coding 过程中千百年都用不到一次吧?! |
|
blackjarFeb 13, 2017
30
写 Pseudo code 足够了 思路说清楚 就 ok
|
|
wshcdrFeb 13, 2017
31
堆排算是实际里基本不用的了......要考手写,的确难
|
|
woostundyFeb 13, 2017
33
感觉归并和快排比较多见,实际用到的也多一点。
堆排突然让写,是挺有难度的。 |
|
LedChangFeb 13, 2017
34
刚考过研的肯定记得,工作那么多年后,我现在就记得是用一个 list 模拟树去操作。
|
|
36
@Allianzcortex 是啊,快排和归并都比较好写
|