前言 最近这段时间确实有点忙,这篇的目录还是在飞机上敲出来了的。 言归正传,上周更新了 "cim" 第一版;没想到反响热烈,最高时上了 版块的首位,一天收到了 300+ 的 star。 现在总共也有 1.3K+ 的 star,有几十个朋友参加了测试,非常感谢大家的支持。 在这过程中也收到一些 反馈, ...
分类:
编程语言 时间:
2019-01-14 11:01:15
阅读次数:
201
一、评估算法复杂度 举例: 算法复杂度为O(n): 算法复杂度为O(n2): 算法复杂度为O(1+2+...+n) > O(n2): 算法复杂度为O(lgN): 算法复杂度为O(1): 高斯解决1+2+3+....+100的办法 (1+100)*50 常数阶算法 二、常见函数的复杂度计算 横轴代表数 ...
分类:
编程语言 时间:
2019-01-12 13:23:06
阅读次数:
283
LeetCode真题_035_Search Insert Position ...
分类:
其他好文 时间:
2019-01-05 15:15:52
阅读次数:
157
算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架 ...
分类:
编程语言 时间:
2019-01-04 22:00:46
阅读次数:
265
1 #include 2 #include 3 #include 4 const int N=100; 5 int n=50,step; 6 int in[N]; 7 void binsort() 8 { 9 int l,r,id; 10 for (int i=1;i=l;j--) 26 { 27 ... ...
分类:
编程语言 时间:
2019-01-04 20:28:11
阅读次数:
171
1 public class Main{ 2 public static int binarySearch(int a[],int x,int n) { 3 int left=0; 4 int right=n-1; 5 while(left<=right) { 6 int middle=(left+... ...
分类:
其他好文 时间:
2019-01-01 19:20:32
阅读次数:
154
在介绍插值查找之前,首先考虑一个问题,为什么二分查找算法中一定是折半,而不是折四分之一,或者折更多呢?打个比方,在英文字典里面查“apple”,你下意识翻开字典是翻前面的书页还是后面的书页呢?如果再查“zoo”,又该怎么查呢?很显然,这两个单词绝对不会从中间开始查起,而是有一定目的地从前或从后开始查 ...
分类:
其他好文 时间:
2019-01-01 17:17:11
阅读次数:
177
说明:元素必须是有序的,如果是无序的则需要先进行排序操作;基本思想:也称为折半查找,属于有序查找算法。用给定值k先与中间节点的关键字比较,中间节点把线形表分成两个子表,若相等则查表成功;若不相等,再根据k与该中间节点关键字的比较结果确定下一步查找哪一个子表,这样递归进行,直到查找到或查找结束发现表中 ...
分类:
其他好文 时间:
2019-01-01 11:43:13
阅读次数:
189
已排序数据的算法:二分搜索,合并,集合操作 数值算法:累积,内积,部分和,邻差 ...
分类:
编程语言 时间:
2019-01-01 11:04:46
阅读次数:
193
二分搜索用于在已经排序好的集合中搜索值,每次与中间值对比,小于则搜索前半段,大于中间值则在后半段,继续二分搜索,实现代码: 如果查询不到值返回的是负的最后查询的中间值的位置,负值变正后+1 则可用来有序插入搜索值,使列表保持排序。 ...
分类:
编程语言 时间:
2018-12-29 13:40:54
阅读次数:
190