二分法查找: 『在有序数组的基础上通过折半方法不断缩小查找范围,直至命中或者查询失败。』 二分法的存储要求:要求顺序存储,以便于根据下标随机访问 二分法的时间效率:O(Log(n)) 二分法的空间效率:原地查询 O(1) 二分法对应的搜索树是确定的。 二叉排序树查找: 『借助二叉排序树进行搜索,但因 ...
分类:
编程语言 时间:
2016-11-27 23:04:08
阅读次数:
226
为什么要进行算法分析? 预测算法所需的资源 计算时间(CPU 消耗) 内存空间(RAM 消耗) 通信时间(带宽消耗) 预测算法的运行时间 在给定输入规模时,所执行的基本操作数量。 或者称为算法复杂度(Algorithm Complexity) 计算时间(CPU 消耗) 内存空间(RAM 消耗) 通信 ...
分类:
编程语言 时间:
2016-11-17 01:39:05
阅读次数:
345
PS: 最近在做练习的时候经常用到一些排序算法,记录下来,便于以后参考 一、冒泡排序 具体算法描述如下: 时间复杂度: 最佳情况:T(n) = O(n) 最差情况:T(n) = O(n2) 平均情况:T(n) = O(n2) 二、快速排序 具体算法描述如下: 时间复杂度: 最佳情况:T(n) = O ...
分类:
编程语言 时间:
2016-11-13 16:13:26
阅读次数:
250
信用评分卡模型入门 2016-07-26 智能算法 智能算法 一、背景介绍: 4.数据整理(数据清理过程) 大量取样的数据要真正最后进入模型,必须经过数据整理。在数据处理时应注意检查数据的逻辑性、区分“数据缺失”和“0”、根据逻辑推断某些值、寻找反常数据、评估是否真实。可以通过求最小值、最大值和平均 ...
分类:
编程语言 时间:
2016-11-11 07:50:24
阅读次数:
996
背景 快速排序,是在上世纪60年代,由美国人东尼·霍尔提出的一种排序方法。这种排序方式,在当时已经是非常快的一种排序了。因此在命名上,才将之称为“快速排序”。这个算法是二十世纪的七大算法之一,平均情况下时间复杂度为Ο(nlogn),而且在O(nlogn)的情况下,实际的运算速度都要快于其他同时间复杂 ...
分类:
编程语言 时间:
2016-10-13 02:47:37
阅读次数:
165
1.稳定性比较 插入排序、冒泡排序、二叉树排序、二路归并排序及其他线形排序是稳定的 选择排序、希尔排序、快速排序、堆排序是不稳定的 2.时间复杂性比较 平均情况 最好情况 最坏情况 归并排序 O(nlogn) O(nlogn) O(nlogn) 基数排序 O(n) O(n) O(n) 快速排序 O( ...
分类:
编程语言 时间:
2016-09-18 01:14:18
阅读次数:
241
稳定性:快速 希尔 选择 堆排序不稳定 时间复杂度:平均情况下,快速、希尔、归并和堆排序的时间复杂度均为O(nlog2(n)),其他都是O(n^2)。最坏情况下,快排的时间复杂度为O(n^2) ...
分类:
编程语言 时间:
2016-08-05 17:43:09
阅读次数:
205
虽然avl树和红黑树在数据搜索和排序方面都是有效的数据结构,但是都显得特别麻烦,跳跃表就显得特别简单,虽然简单 不影响他性能,在平均情况下,其插入、删除、查找数据时间复杂度都是O(log(N)),其最坏情况下都为O(N)。 跳跃表的构造源于一种用于查找的基础数据结构 链表。跳跃表就是在普通链表的情况 ...
虽然avl树和红黑树在数据搜索和排序方面都是有效的数据结构,但是都显得特别麻烦,跳跃表就显得特别简单,虽然简单 不影响他性能,在平均情况下,其插入、删除、查找数据时间复杂度都是O(log(N)),其最坏情况下都为O(N)。 跳跃表的构造源于一种用于查找的基础数据结构 链表。跳跃表就是在普通链表的情况 ...
分类:
数据库 时间:
2016-08-04 13:16:25
阅读次数:
295