
算法导论
best_od
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
堆排序的python实现
堆排序的python实现 如图所示,堆类似于一棵二叉树,每个节点最多有两个子结点,根据堆的特点,又分为大顶堆和小顶堆。对于大顶堆,每个结点的值均大于其子结点的值,小顶推则恰恰相反,每个结点的值均小于其子结点的值。 而对排序结构虽然类似于二叉树,不过确是在列表结构上实现排序的,当结点 i 存在子结点时,其左子结点的索引必定为2i,其右结点的索引则必定为2i+1,根据这个,我们便能在列表的基础上实现...原创 2018-11-16 21:49:01 · 254 阅读 · 0 评论 -
最大子数组问题的python实现
最大子数组问题的python实现 ‘’’ 给定一个无序数组,其中包含正数和负数,要求找出该数组中连续的几个数,其和相加为最大 ‘’’ #1、暴力法,遍历该该数组中所有子数组 import random def max_violent(arr): max=-100 a=0 b=0 for i in range(len(arr)): #每次所取子数组的头 for j in ...原创 2018-11-07 19:18:45 · 1467 阅读 · 0 评论 -
快速排序的python版本
快速排序的python版本 快速排序属于分治算法中最经典的一个实例,不同于冒泡排序和选择排序,快排的思想是选定一个基准元素,根据该元素对列表进行初步排序,选出比该元素小的排在该元素之前,比该元素大的排在其后,然后,在对这两组元素进行递归排序。 关于快排的结构,书本上大致分为两类,单向快排和双向快排。 算法导论介绍的快排属于单向快排,始终从一个方向对列表进行排序,将列表划分。代码如下 def qui...原创 2018-11-19 20:37:00 · 289 阅读 · 0 评论