xqn2017

导航

随笔分类 -  算法

快速排序、插入排序、归并排序
摘要:其中插入排序和快速排序均属于内排序,而归并排序则是外排序,由于归并排序使用了外部内存,用空间换取了时间,所以归并排序的时间复杂度最坏和最好都为O(N*logN),快速排序最好为O(N*logN),最坏为O(N^2); 阅读全文

posted @ 2017-12-11 09:49 xqn2017 阅读(290) 评论(0) 推荐(0)

寻找最大连续子串和以及寻找最长数字串
摘要:'''寻找最大连续子串和''' def find_max_sub_sum(data): if not data: return None sub = data[0] submax = data[0] for i in range(1, len(data)): sub = max(sub+data[i], data[i]) submax = max(submax, sub) ... 阅读全文

posted @ 2017-12-11 09:45 xqn2017 阅读(846) 评论(0) 推荐(0)

寻找最长公共子串
摘要:上述的实现方法对s和t串进行逐个字符比较,其中循环有三层,复杂度为o(n^3),《大话数据结构》里有一个逐步改进的KMP算法,以后再补充吧 阅读全文

posted @ 2017-12-11 09:44 xqn2017 阅读(222) 评论(0) 推荐(0)

八皇后问题
摘要:八皇后问题描述大家都比较熟悉,就是在8*8的方格中放置8个皇后,使得8个皇后不在同一行、同一列以及不在对角线上,这样8个皇后才不会互相攻击,求放置的方法有多少种? 答案就是92种。 解题思路:假设用C[j]表示皇后在j行代表的列号,也即皇后的位置第j行第C[j]列采用行列表示为[j,C[j]],j和 阅读全文

posted @ 2017-12-08 17:30 xqn2017 阅读(205) 评论(0) 推荐(0)

哈希桶算法
摘要:由于在工作中碰到了用哈希桶算法的地方,因此,在这里科普mark一下,有不足之处请指正。 通常大家所说的哈希函数也可以称为散列函数,哈希函数的功能只是将你的目标key通过一种映射方法,也可以说是一种函数运算f,最后得到你目标的hashValue = f(key),这里的函数f就称为哈希函数/散列函数。 阅读全文

posted @ 2017-12-07 09:56 xqn2017 阅读(12969) 评论(0) 推荐(3)