Stay Hungry, Stay Foolish

标签:算法

每天一道算法题

常用排序算法--快速排序

经典算法,快速排序 主要有一下几个问题要考虑: 1、参照点如何选择 2、交换条件 3、递归终止条件 快速排序(Quicksort)是对归并排序算法的优化,继承了归并排序的优点,同样应用了分治思想。快速排序并不是最好的,它的”快“是建立在综合考虑的基础上,需要根据不同情况选择不同的...

xiaohe 7年前 (2019-04-17) 5341℃ 0评论 1喜欢

每天一道算法题

设计一个有getMin功能的栈

在实现栈的基本功能的基础上,再实现返回栈中所有元素的最小值: 其中一种思想是用两个栈,一个栈作为常规的栈dataStack,另一个栈来维护当前栈内最小值minStack。入栈的时候如果常规栈为空,则将入栈值同时放入minStack和dataStack,否则比较入栈值和minSta...

xiaohe 7年前 (2019-04-15) 5456℃ 0评论 0喜欢

每天一道算法题

常用排序算法--直接选择排序

实现 每次从数组中找到最小(大)的值放到前面,直到排序结束。例如:数组[8,5,2,6,9,3,1,4,0,7],如果按照从小到大排序则,第一趟排序从全部数组中找到最小的值与index=0位置的元素交换,第二次排序是丛index=1开始之后的所有元素中选择最小的值与index=1...

xiaohe 7年前 (2019-04-14) 4660℃ 0评论 0喜欢