摘要:哈希表 学习笔记参考翻译自:《复杂性思考》及对应的online版本:http://greenteapress.com/complexity/html/thinkcomplexity004.html使用哈希表可以进行非常快速的查找操作,查找时间为常数,同时不需要元素排列有序python的内建数据类型:...
阅读全文
摘要:kmeans算法的python实现:参考与样本来源《Machine Learning in Action》 1 #-*-coding:UTF-8-*- 2 ''' 3 Created on 2015年8月19日 4 @author: Ayumi Phoenix 5 ''' 6 import nump...
阅读全文
摘要:外排序原理:外排序就是能够处理极大量数据的排序算法。通常来说,外排序处理的数据不能一次性装入内存,只能放在读写较慢的外存储器(eg.硬盘)上,通常采用“排序-归并”策略。算法性能分析:参考:http://blog.chinaunix.net/uid-25324849-id-2182916.html多...
阅读全文
摘要:箱排序(桶排序)箱排序是根据关键字的取值范围1~m,预先建立m个箱子,箱排序要求关键字类型为有限类型,可能会有无限个箱子,实用价值不大,一般用于基数排序的中间过程。桶排序是箱排序的实用化变种,其对数据集的范围,如[0,1) 进行划分为n个大小相同的子区间,每一个子区间为一个桶,然后将n非记录分配到各...
阅读全文
摘要:冒泡排序1 # 冒泡排序2 def bubblesort(A):3 n = len(A)4 for i in range(n,1,-1): # i = n, n-1, n-2, ..., 25 # 截取 A 的前i个元素进行冒泡6 for j in r...
阅读全文
摘要:直接插入排序 1 # 直接插入排序 2 def InsertSort(s): 3 for i in range(1,len(s)): 4 # 往有序数组s[:i]中插入元素s[i],当新元素比末尾元素小时,往前插入 5 if s[i] =0: # 如果目标...
阅读全文
摘要:选择排序法1 # 选择排序法2 def SelectSort(s):3 n = len(s)4 for i in range(n-1):5 min = i6 for j in range(i+1,n):7 if s[j]=2: ...
阅读全文
摘要:利用C语言实现的最长回文子串算法 1 # include 2 # include 3 # include 4 5 # define MAXN 5000 + 10 6 char buf[MAXN], s[MAXN]; //buf输入字符串, s去掉标点空格并转为大写的预处理字符串 7 int p[...
阅读全文
摘要:归并排序:原理与C语言实现参考:白话经典算法系列之五 归并排序的实现1. 容易对有序数组A,B进行排序。2. 为了使得A,B组内数据有序:可以将A,B组各自再分成二组。3. 经过不断分组,当分出来的小组只有一个数据时(有序),合并相邻二个小组。这样通过先递归的分解数列,再合并数列就完成了归并排序。代...
阅读全文