题目: Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists. 分析:合 ...
分类:
编程语言 时间:
2016-08-13 20:57:41
阅读次数:
241
一、快速排序算法的基本特性时间复杂度:O(n*lgn)最坏:O(n^2)空间复杂度:O(n*lgn)不稳定。 快速排序是一种排序算法,对包含n个数的输入数组,平均时间为O(nlgn),最坏情况是O(n^2)。通常是用于排序的最佳选择。因为,基于比较的排序,最快也只能达到O(nlgn)。 二、快速排序 ...
分类:
编程语言 时间:
2016-08-12 11:51:47
阅读次数:
299
string s是输入字符串, palindrome[i][j]表示s.substr(i, j - i + 1)是否为回文。算法时间复杂度和空间复杂度都为O(n^2)。 ...
分类:
其他好文 时间:
2016-08-11 14:24:22
阅读次数:
126
最坏情况:以大O记号形式表示的时间复杂度,给出了一个算法的最坏情况,即--对于规模为n的任意输入,算法的运行时间都不会超过O(f(n)) 最好情况 :大 Ω记号-->如果存在正的常数c和函数g(n),对任意n>>2,有T(n) > c * g(n),即认为:在n足够 大后,g(n)给出了T(n)的一 ...
分类:
其他好文 时间:
2016-08-11 00:40:39
阅读次数:
180
特点: 1)不稳定的算法; 2)只能适用于顺序结构; 3)增量的取法多,并且时间依赖于增量的取法; 4)时间复杂度:O(nlog2n) ; 5)空间复杂度:O(1). ...
分类:
编程语言 时间:
2016-08-02 16:59:40
阅读次数:
209
问题描述: 数组arr[0...mid-1]和arr[mid..n-1]是各自有序的,对数组arr[0..n-1]的两个有序段进行合并,得到arr[0..n-1]整体。要求空间复杂度为O(1) eg:{1,3,5,7,2,4,6}合并成{1,2,3,4,5,6,7} 思路: 方法一 很显然,看到这个 ...
分类:
编程语言 时间:
2016-08-01 20:56:46
阅读次数:
327
题意:给定一个单链表,判断该链表是否回文。要求O(N)的时间复杂度,O(1)的空间复杂度 也是一道easy题目,但是由于数据结构比较渣,之前没有接触过链表反转的问题,在这里记下这个算法。 思路就是找到链表的中间,把后半段链表反转过来,这个复杂度是O(n),在O(n)遍历一遍看看跟前半段是否一样,所以 ...
分类:
其他好文 时间:
2016-07-30 16:37:05
阅读次数:
125
题目描述:给定一个数字n,统计0~n之间的数字二进制的1的个数,并用数组输出例子:For num = 5 you should return [0,1,1,2,1,2].要求:
算法复杂复o(n)
空间复杂度o(n)
原文描述:Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num c...
分类:
编程语言 时间:
2016-07-30 01:49:37
阅读次数:
216
排序:快排、堆排序 归并排序 各排序算法比较 稳定 时间复杂度 空间复杂度 ...
分类:
编程语言 时间:
2016-07-28 16:27:12
阅读次数:
245
【本文谢绝转载】《大纲》
数据结构:
起源:
基本概念
数据结构指数据对象中数据元素之间的关系
逻辑结构
物理结构
数据的运算
算法概念:
概念
算法和数据结构区别
算法特性
算法效率的度量
大O表示法
时间复杂度案例
空间复杂度
时间换空间案例
1)线性表..
分类:
编程语言 时间:
2016-07-23 07:40:02
阅读次数:
588