算法
为在旦夕
进入iT行业,学无止境
展开
-
KMP算法
一、背景 给定一个主串(以 S 代替)和模式串(以 P 代替),要求找出 P 在 S 中出现的位置,此即串的模式匹配问题。 Knuth-Morris-Pratt 算法(简称 KMP,网上有人戏称“看毛片”,我的输入法打出来的首位竟然是“烤馍片”)是解决这一问题的常用算法之一,这个算法是由高德纳(Donald Ervin Knuth)和沃恩·普拉特在 1974 年构思,同年詹姆斯·H·莫里斯也独立地...原创 2020-02-23 12:32:57 · 250 阅读 · 1 评论 -
初学python:二分法查找
#sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数 #list.sort(cmp=None, key=None, reverse=False) #cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序 #key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序 #reverse...原创 2019-08-04 21:28:30 · 289 阅读 · 0 评论 -
初学Python:冒泡算法-BubbleSort
# /usr/bin/python # -*- coding: utf8 -*- ############## #冒泡排序 ############## list_wait_deal = [9, 5, 3, 2, 7, 6, 4, 3, 8] count = len(list_wait_deal) for i in range(1, count): #print (i) f...原创 2019-08-04 21:30:27 · 306 阅读 · 0 评论 -
初学Python:选择排序-SelectSort
# /usr/bin/python # -*- coding:utf-8 -*- sample_list = [5, 3, 2, 7, 6, 4, 9, 3, 8] L = len(sample_list) for i in range(0, L-1): min_index = i for j in range(i+1,L): if sample_list[j...原创 2019-08-04 21:38:20 · 266 阅读 · 0 评论 -
初学Python:插入排序-InsertSort
# /usr/bin/python # -*- coding:utf-8 -*- sample = [3, 7, 9, 3, 4, 5] for i in range(1, len(sample)): print (i) for j in range(1, i + 1): if sample[i + 1 - j] < sample[i - j]: ...原创 2019-08-04 22:17:37 · 163 阅读 · 0 评论 -
初学python:希尔排序-ShellSort
代码演示 # /usr/bin/python # -*- coding:utf-8 -*- sample = [3, 7, 15, 6, 4, 2, 8] L = len(sample) while True: L = L/2 k = 0 #将序列分成L个子序列 for k in range(0, L): i = k + L w...原创 2019-08-06 17:39:06 · 92 阅读 · 0 评论 -
初学Python:快速排序-Quicksort
# /usr/bin/python # -*- coding:utf-8 -*- Sample = [72, 6, 57, 88, 120, 60, 42, 83, 73, 48, 85, 100, 201, 119] L = len(Sample) - 1 B = 0 def Quicksort(sample, b, r): if b >= r: return...原创 2019-08-16 22:46:26 · 151 阅读 · 0 评论 -
初学机器学习:分类问题-感知机算法
https://nbviewer.jupyter.org/github/bingozhu88/MachineLearning/blob/master/%E7%AC%AC%E4%BA%8C%E8%AE%B2-%E5%88%86%E7%B1%BB%E9%97%AE%E9%A2%98/%E4%BB%A3%E7%A0%81%E5%B1%95%E7%A4%BA.ipynb原创 2019-08-22 17:08:45 · 268 阅读 · 0 评论