![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
无名万物
这个作者很懒,什么都没留下…
展开
-
快速排序
1、快速排序快速排序和冒泡排序都属于交换类排序,是对冒泡排序的优化,但是快排采用了“分而治之 ”的思想,跳跃式的交换,从而加快排序的速度。2、时间空间复杂度冒泡排序的时间复杂度:O(N^2) 快速排序的平均时间复杂度:O(n*logN),最差的时间复杂度和冒泡排序一样,都是O(N^2) 平均空间复杂度:O(nLogN)最坏空间复杂度O(N)3、原理及分析1、在要排序的数...原创 2018-09-11 13:24:00 · 163 阅读 · 0 评论 -
自定义链表 遍历
定义节点1、单向链表,每个节点都有一个数据域和一个指针域,数据域存储该节点的数据,指针域指向下一个节点。节点定义如下:class ListNode<T>{ T val; ListNode next; public ListNode(T val){ this.val = val; }}主函数public class ListNodeDemo{ public s...原创 2018-09-19 10:46:55 · 225 阅读 · 0 评论 -
选择排序
1、选择排序(1)取第一个数与后面的所有数进行比较,当大于比较的数的时候,交换,因此第一轮之后第一个是最小数; (2)取第二个数与后面的所有数进行比较,重复第一步;2、代码实现import java.util.Arrays;public void SelectOrder{ public static void main(String[] args){ // ...原创 2018-09-14 11:51:15 · 100 阅读 · 0 评论 -
求Top K问题
1、问题描述从数组 arr[1,n] n个数中,找出最大的K个数,这个是经典的求Top K的问题 。例如从数组 int [] arr = {3,4,5,67,34,56,3,2,4,66,546} 中找到top5的数解法一: 排序求最大的五个数将数组进行排序,最大个5个数即为所求的数。...原创 2018-09-25 10:19:38 · 827 阅读 · 1 评论