发表于: 2018-02-24 22:15:21

0 538


今天完成的事情:

1. 今天面试一家

2. 投了一家,周一面试

3. 把任务一的深度思考过到了15个

4. 总结下堆排序和选择排序


明天计划的事情

1. 完成任务1的深度思考,任务二看5-7个

2. 总结连个算法

3. 看1-2个设计模式

4. 继续投简历

5 .整理一下面试需要的,整理到一个笔记组里


遇到的问题:

1. 算法烧脑



收获:


1. 算法总结


选择排序:
10个数的数组
设有一个指针【i】指向第一位数字,每次比较完后找到在【i】-【n】的最小值
假设在【0】是最小的,记录下标min,对【1】-【9】进行比较,每次找到比min下标处的值还小的就把这个下标赋给min  ,   找到真正的最小值记录下标min , [1]-[9]比较完成后对【0】 和 【min】的数字交换,i++
再从【i】开始,假设为最小 对【2】-【9】比较 找到真正的最小值记录下标min , [1]-[9]比较完成后对【0】 和 【min】的数字交换



堆排序:

平均性能

O(N*logN)。

其他性能

由于建初始堆所需的比较次数较多,所以堆排序不适宜于记录数较少的文件。
堆排序是就地排序,辅助空间为O(1).
它是不稳定的排序方法。(排序的稳定性是指如果在排序的序列中,存在前后相同的两个元素的话,排序前 和排序后他们的相对位置不发生变化)



返回列表 返回列表
评论

    分享到