Python实现经典算法
ammmao
这个作者很懒,什么都没留下…
展开
-
Python实现经典排序算法-插入排序
直接插入排序(Straight Insertion Sort) 1.直接插入排序概述 插入排序(Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序,因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 2.基本思想 ...原创 2019-04-01 11:21:58 · 189 阅读 · 0 评论 -
Python实现经典排序算法-冒泡排序
冒泡排序(Bubble Sort) 1.冒泡排序概述 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 2.算法思想 算法分析: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 ...原创 2019-04-01 11:24:11 · 253 阅读 · 0 评论 -
Python实现经典排序算法-选择排序
直接选择排序(Straight Select Sort) 1.选择排序概述 选择排序(Selection sort) 是一种简单直观的排序算法,它的工作原理是每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 2.基本思想 n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果 算法分析: 关键字比较次数 在第i趟排序中选出最...原创 2019-04-01 11:26:03 · 223 阅读 · 0 评论 -
Python实现经典排序算法-堆排序
堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。 堆是一种类似于完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或者索引总是大于(小于)它的父节点。 二叉树的遍历 树的遍历:对树中所有元素不重复的访问一遍,也称作扫描。 遍历树的方式: 广度优先遍历 层序遍历 深度优先遍历 前序遍历 中序遍历 后序遍历 堆排序 堆是一个完全二叉树 每个非叶子结点都要大于...原创 2019-05-16 21:35:54 · 427 阅读 · 0 评论 -
Python实现双向链表容器化
双向链表 Data 数据 + Next 指针 + Prev 指针,组成一个双向链表的内存结构; 第一个内存结构称为 链头,最后一个内存结构称为 链尾; 链头的 Prev 指针设置为 NULL, 链尾的 Next 指针设置为 NULL; Prev 指向的内存结构称为 前驱, Next 指向的内存结构称为 后继; 双向链表的遍历是双向的,即如果把从链头的 Next 一直到链尾的[NULL] 遍历方...原创 2019-06-02 11:23:46 · 135 阅读 · 0 评论