算法
古怪945
腾讯文学rd
展开
-
排序算法性能和使用场景总结
按平均时间将排序分为四类: (1)平方阶(O(n2))排序 一般称为简单排序,例如直接插入、直接选择和冒泡排序; (2)线性对数阶(O(nlgn))排序 如快速、堆和归并排序; (3)O(n1+£)阶排序 £是介于0和1之间的常数,即0 (4)线性阶(O(n))排序 如桶、箱和基数排序。 各种排序方法比较转载 2014-05-23 09:21:53 · 573 阅读 · 0 评论 -
Java 翻转单链表
class Node { // 变量 private int record; // 指向下一个对象 private Node nextNode; public Node(int record) { super(); this.record = record; } public int getRecord() { return record; } public v转载 2015-02-02 22:21:27 · 538 阅读 · 0 评论 -
【算法】冒泡排序
冒泡排序 计算机基本算法:用相邻元素两个比较大小,然后按照大小顺序依次调整,像气泡一样移动元素。 时间复杂度: 排序法 最差时间分析 平均时间复杂度 稳定度 空间复杂度 冒泡排序 O(n2) O(n2) 稳定 O(1) 观看视频:http://www.tudou.com/programs/view原创 2015-02-08 21:48:25 · 546 阅读 · 0 评论 -
【算法】快速排序
快速排序: 冒泡排序的改进,每次取数组第一个元素,然后轮训整个数组,找到中间位置,每次都将数据分开两部分,再次选择基准元素的中间为止,每次都把分开的部门再次分割,分治算法的体现。 视频:http://www.tudou.com/programs/view/gtnrNh7yh6I/ Java代码实现: package com; public class QuickSort原创 2015-02-08 23:16:42 · 438 阅读 · 0 评论 -
算法面试题
国内大型视频网站面试题:有个mysql的数据库表,有个字段表示状态1和0,然后把整个表里面的1和0反过来,比如原来 张三,0 李四,1 执行后是张三1,李四 0 答案:对该列做-1操作,然后取反,这样原来是1的变成0,然后0的变成-1,取绝对值即可。 sql update XX 字段=ABS(字段-1); 国内大型视频网站面试题:有个整型数组,里面出现的数字都是成对出现的,比如{1,2原创 2015-03-25 16:16:50 · 866 阅读 · 0 评论 -
Java 二分查找算法(递归和非递归)
技术要点: 二分查找又称折半查找 1.必须采用顺序存储结构 2.必须按关键字大小有序排列 也就是说:二分查找算法要求待查找的数组已经排序过。 public class BinarySearch { public static void main(String[] args) { int[] src = new int[] {1, 3, 5, 7, 8, 9}; Sy转载 2015-03-03 18:31:36 · 564 阅读 · 0 评论