算法
越昊
俺的博客内容都是经过实践验证的,为了长期保存备查,将以往的和现在日常的总结,全部存于此处。如果你喜欢,可以和我一起讨论 qq303562294
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法_正整数数组的最优跳动方式_python
题目:获取一个正整数数组的最优跳动方式,要求如下: 1)从数组中间的任意位置开始向右跳,每次跳动的步伐数不能超过该位置对应元素的值 2)在跳动次数最少的情况下计算每次跳动的步伐 #定义一个树节点,普通的树 class ptree(): def __init__(self,index,lst = []): self.index = index #树的节点值 ,此处为列表的元素...原创 2020-03-29 21:16:59 · 358 阅读 · 0 评论 -
算法_堆排序_python
#堆排序 def adjust(lst,beg,end,isBeg = True): i = 0 if end ==1: i = 0 else: i = int((end - 2)/2) + (end - 2)%2 rang = None if isBeg: rang =range(i +...原创 2020-03-29 21:10:13 · 127 阅读 · 0 评论 -
算法_二叉树_python
二叉树的相关操作 创建二叉树 先序、中序、后续遍历 删除节点、添加节点 计算二叉树的叶子个数 #二叉树 # 1)若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值; # 2)若任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值; # 3)任意节点的左、右子树也分别为二叉查找树。 #定义个二叉树节点类,python中无struct class btnode...原创 2020-03-29 21:07:40 · 234 阅读 · 0 评论 -
算法_插值查找_python
#插值查找 def binary_search(lis, key): low = 0 high = len(lis) - 1 time = 0 while low <= high: time += 1 # 计算mid值是插值算法的核心代码 mid = low + int((high - low) * (key - lis[low])/(lis[high...原创 2020-03-29 20:49:55 · 368 阅读 · 0 评论 -
算法_二分查找_python
#二分查找 def orderby(lst,value): lg = len(lst) beg = 0 end = lg-1 while beg<=end: mid = int((beg+end)/2) print("mid = ",mid) if lst[mid] < ...原创 2020-03-29 20:24:20 · 111 阅读 · 0 评论 -
算法_归并排序_python
#归并排序 def merge(lst1,lst2): lst = [] i,j = 0,0 while i < len(lst1) and j < len(lst2): if lst1[i]<lst2[j]: lst.append(lst1[i]) i +=1 elif ls...原创 2020-03-29 18:37:38 · 173 阅读 · 0 评论 -
算法_希尔排序_python
#希尔排序 def shell_sort(array): gap = len(array) while gap > 1: gap = gap // 2 for i in range(gap, len(array)): for j in range(i % gap, i, gap): ...原创 2020-03-29 18:21:39 · 144 阅读 · 0 评论 -
算法_插入排序_python
#插入排序 def insert(lst): for i in range(1,len(lst)): for j in range(0,i): if lst[j] > lst[i]: lst.insert(j,lst.pop(i)) break print(lst...原创 2020-03-29 18:18:48 · 123 阅读 · 0 评论 -
算法_快排_python
#快排 def quick(begin,end,lst): if begin > end: return print('---------------------------') beg = begin ed = end while beg < ed: while beg<ed and lst[beg]<...原创 2020-03-29 18:12:33 · 129 阅读 · 0 评论 -
算法_冒泡排序_python
#冒泡排序 def bubble_sort(lst): length = len(lst) for i in range(length -1): print("-----------------------------------") for j in range(length -i -1): if lst[j] > ...原创 2020-03-29 18:08:01 · 207 阅读 · 0 评论 -
算法_选择排序_python
#选择排序,从小到大 def select_sort(ll): length = len(ll) for i in range(0,length -1): min_pos = i for k in range(i+1,length): if ll[min_pos] > ll[k]: m...原创 2020-03-29 18:03:47 · 104 阅读 · 0 评论
分享