
算法
jiajiajia800
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python算法--二叉树的深度、广度遍历
二叉树示例图 一、二叉树深度优先遍历 1.算法说明: 二叉树的遍历,分为深度优先遍历,以及广度优先遍历。在深度优先遍历中,具体分为如下三种: 先序遍历:先访问根节点,再遍历左子树,再遍历右子树; 中序遍历:先遍历左子树,再访问根节点,再遍历右子树; 后序遍历:先遍历左子树,再遍历右子树,再访问根节点 上图遍历: 先序遍历:50 20 15 30 60 70 中序遍历:15 20 30 50 60...原创 2020-01-09 10:20:52 · 451 阅读 · 0 评论 -
python算法--排列组合
对于给定的一组数据,给出包含所有数据的排列的组合。 以数字1,2,3为例,说明全排列的递归算法。 当列表为[1]时,全排列:[1] 当列表为[1,2]时,全排列:[1,2]、[2,1] (即以2开头的3的全排列,和以3开头的全排列。) 当列表为[1,2,3]时,排列组合: 1开头的情况下,和2、3的全排列做组合:[1,2,3],[1,3,2] 2开头的情况下,和1、3的全排列做组合:[2,1,3...原创 2019-12-31 23:16:18 · 1975 阅读 · 0 评论 -
python算法--链表、队列、栈
一、链表 算法原理: 通过一个个节点组成的,每个节点都包含了value的基本元素,能保存数据之间逻辑顺序,但存储空间不必按照顺序存储。 链表的基本元素: node节点:每个节点存储两个部分,左边部分为值域用来存放用户数据,右边部分为指针域用来存放下一个元素指针 head节点:永远指向第一个节点 tail节点:永远指向最后一个节点 None:链表中最后一个节点的指针域未None值 代码: cla...原创 2019-12-30 20:35:08 · 289 阅读 · 0 评论 -
python算法-8种排序
一、冒泡排序 算法说明 (1)比较相邻的元素,如果第一个比第二个大,就进行交换; (2)对每一对乡里元做同样操作,直到最后一对,最后的元素应该是最大的数; (3)循环步骤(1)(2)直到每一任何一对数字需要比较。 代码: # 冒泡排序 def bubble_sort(listx): xlen = len(listx) # 列表长度 for i in range(xlen-1...原创 2019-12-28 09:25:46 · 343 阅读 · 0 评论 -
python算法--散列(哈希)
散列方法又称哈希算法,实际上是对关键码值的索引,与关键码值对应的数据记录一般被存放在其他地方。 散列是一种非常高效的检索方法,散列技术把数据组织到一个表中,根据关键码的值来确定表中每个记录的位置,故散列技术适合精确查找,不适合进行范围查询。 1哈希之散列方法: 插入元素时:根据需要插入元素的值,通过某种计算得出元素的存储位置,将该元素插入到其对应的位置。 查找元素时:根据需要查找的元素进行某种计算...原创 2019-12-25 17:31:14 · 1939 阅读 · 0 评论 -
python算法--二分查找
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。 二分查找的基本思想:是将n个元素分成大致相等的两部分,取a[n/2]与x做比较,如果x=a[n/2],则找到x,算法中止;如果x<a[n/2],则只要在数组a的左半部分继续搜索x,如果x>a[n/2],则只要在数组a的右半...原创 2019-12-24 14:58:16 · 220 阅读 · 0 评论