- 博客(11)
- 资源 (6)
- 收藏
- 关注
原创 算法铺子之排序---快速排序(二)
上一篇对普通的快速排序算法进行了分析并通过实验发现,普通的快速排序算法在碰到有大量重复数据的数据集时,很有可能会导致在parttion之后进行二分时,两个部分的划分失去平衡,然后退化成O(n^2)的算法。在这一篇中,将对前辈们针对这种问题而提出的双路快速排序算法和三路快速排序算法进行分析。0. 双路快速排序算法在上一篇的普通快速排序算法的实现中并没有考虑到当前考察的元素等于基准的情况,如图所示:也就
2017-07-30 11:39:51 306
原创 算法铺子之排序---快速排序(一)
0.快速排序简介快速排序是20世纪世界上最伟大的算法之一,顾名思义,这个算法能很快的对数据进行排序。而且在很多库的底层代码中也经常使用快速排序来实现排序的功能,比如jdk,stl等。1.快速排序的思想以升序为例。首先会找一个元素v作为基准,然后将整个待排序序列parttion成3个区域A,B和C。其中A区域为全部比v小的元素,B区域为全部等于v的元素,C区域为全部大于v的元素。此时B区域就成为了元素
2017-07-26 23:29:22 508
原创 jdk源码学习笔记--LinkedList
初衷刚接触java不到2礼拜的小白试图通过阅读jdk的源码来学习java。如有理解或表达不对的地方,欢迎各位大佬指正,谢谢。1. LinkedList类简介LinkedList是一个双链表,它也可以被当作堆栈、队列或双端队列进行操作。LinkedList实现List接口,能对它进行队列操作。LinkedList实现Deque接口,即能将LinkedList当作双端队列使用。LinkedList实现了
2017-07-25 23:57:16 389
原创 算法铺子之排序---归并排序
0.归并排序简介归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。若将k个有序表合并成一个有序表称为k路归并。1.归并排序的思想归并排序主要是通过分治法的思想来将一个大的
2017-07-24 23:01:55 366
原创 算法铺子之排序---插入排序
0.选择排序简介插入排序和选择排序同样是一种较为常见且容易实现的O(n^2)级别的排序算法,但插入排序的效率和待排序数据的有序程度有关系,待排序数据的有序程度越高,插入排序的效率也就越高,甚至有时候能比O(nlogn)级别的排序算法的效率还要高。所以插入排序也通常会成为其他排序算法的子过程。1.插入排序的思想插入排序的思路和我们打扑克牌时,整理扑克牌的思路是一样的,就是说将整个待排序数据序列看成两个
2017-07-24 12:49:13 294
原创 算法铺子之排序---选择排序
0.选择排序简介选择排序是一种简单的基于交换的排序算法,虽然效率不如O(nlogn)级别的排序算法,但是易于实现。1.选择排序的思想以升序排序为例,选择排序所做的事情无非是从待排序序列中找到最小的一个元素,然后与待排序序列中第1个元素进行交换(此时待排序序列已经从第2个元素开始),然后从待排序序列中找到最小的一个元素,然后与待排序序列中的第1个元素进行交换(此时待排序序列已经从第3个元素开始),就这
2017-07-24 10:25:09 211
原创 jdk源码学习笔记---ArrayList
初衷刚接触java不到2礼拜的小白试图通过阅读jdk的源码来学习java。如有理解或表达不对的地方,欢迎各位大佬指正,谢谢。1. ArrayList类简介ArrayList是一个数组序列,相当于一个动态数组。与Java中的数组相比,它的容量能动态的增长。并提供了一些列对外开放的接口供调用方维护这个数组序列中的数据。 ArrayList类的继承和实现体系如下图所示: ArrayList继承于Abs
2017-07-21 22:53:46 594 1
原创 jdk源码学习笔记---Character
初衷刚接触java不到2礼拜的小白试图通过阅读jdk的源码来学习java。如有理解或表达不对的地方,欢迎各位大佬指正,谢谢。0. Character类的用途1.对基本类型char进行包装,个人感觉从某种意义上来讲Character类是char的装饰器。2.对外开放的丰富的功能能够好的处理char型数据(基于unicode),提高代码的复用。1. Character类的继承和实现体系Character
2017-07-13 12:34:27 1965
原创 leetcode_Find All Numbers Disappeared in an Array
Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once.Find all the elements of [1, n] inclusive that do not appear in this array.Could you
2017-07-10 16:19:42 229
原创 leetcode_Two Sum II - Input array is sorted
Given an array of integers that is already sorted in ascending order, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers suc
2017-07-10 12:11:38 278
人工智能-神经网络的应用与实现技巧
2018-12-23
人工智能的未来
2018-12-23
集体智慧编程
2018-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人