上一页 1 ··· 7 8 9 10 11 12 13 下一页
摘要: 前面提到的几种排序最优的时间复杂度为O(nlog n),但在排序算法中还不是最优的,有几种算法的时间复杂度为O(n),因为时间复杂度是线性的,所以又称线性排序。他们有桶排序、计数排序、基数排序,之所以能够达到线性的时间复杂度,是因为他们都不涉及元素之间的比较操作,这就意味着他们的使用条件都比较苛刻。 阅读全文
posted @ 2019-03-31 11:10 GoodRnne 阅读(546) 评论(0) 推荐(0) 编辑
摘要: There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity sh 阅读全文
posted @ 2019-03-29 11:56 GoodRnne 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 归并排序 对于一个待排序的数组,先将数组分成两部分,如果划分之后的一部分数组数目大于1,则我们继续对其划分,直到分成单个元素的数组。然后我们在申请相应的辅助空间,将两个数组进行进行合并,得到一个排序之后的数组,然后反复进行对比排序,直到生成一个最终和原数组一样大的排好序的数组。 归并排序使用的是分而 阅读全文
posted @ 2019-03-28 09:57 GoodRnne 阅读(143) 评论(0) 推荐(0) 编辑
摘要: Given a string, find the length of the longest substring without repeating characters. Example 1: Input: "abcabcbb" Output: 3 Explanation: The answer 阅读全文
posted @ 2019-03-27 12:19 GoodRnne 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 快速排序 其利用的思想就是分治思想,最开始先从数组中随机选择一个元素p(为什么随机下面解释),然后以这个元素对数组中的元素进行分类,数组左侧都是小于p的元素, 右侧都是大于等于p的元素。这样就让数组分成了两部分。然后我们分别对左边和右边进行进行同样的操作(先随机选择元素,再进行分组)直到所有元素都排 阅读全文
posted @ 2019-03-27 11:04 GoodRnne 阅读(774) 评论(0) 推荐(0) 编辑
摘要: You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contai 阅读全文
posted @ 2019-03-26 21:06 GoodRnne 阅读(145) 评论(0) 推荐(0) 编辑
摘要: Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exa 阅读全文
posted @ 2019-03-26 20:00 GoodRnne 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 选择排序大体思路就是将数组分为已排序和未排序的数组,每次从数组中选择出最大(最小)的元素,然后将其插入到已排序数组的末尾。依次循环n次。 实现代码如下: 分析: 不稳定排序:在选择排序过程总每次都要找剩余未排序元素中的最小值,然后和前面的元素交换位置,这样会未排序之前的相同元素的顺序被打乱。 并且为 阅读全文
posted @ 2019-03-26 11:26 GoodRnne 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 插入排序的大体思路就是一开始会将未排序的数据分为两部分,一部分是已排序的数组,另一部分是未排序的数组。然后将未排序数组中的第一个元素挑出来,和前面已排序的数组进行比较,插入合适的位置。依此进行,直到未排序数组为空。 例如:待排序的数组为[4, 5,6,1,3,2], 一开始 一排序的数组为[ 4 ] 阅读全文
posted @ 2019-03-26 11:06 GoodRnne 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复 n 次,就完成了 n 个数据的排序工作。简单来说的话就是从第一个元素开始,然后和后面的一个进行比较,如果第一个元素比后面的一个 阅读全文
posted @ 2019-03-26 10:41 GoodRnne 阅读(247) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 下一页