随笔分类 -  python-算法

摘要:排列组合 一、递归 1、自己调用自己 2、找到一个退出的条件 二、全排列:针对给定的一组数据,给出包含所有数据的排列的组合 1:1 1,2:[[1,2],[2,1]] 1,2,3:【【1,2,3】,【1,3,2】,【2,1,3】, 【2,3,1】,【3,2,1】,【3,1,2】】 三、1,2,3 的 阅读全文
posted @ 2018-05-07 18:27 小七Libra 阅读(6913) 评论(0) 推荐(0)
摘要:汉诺塔问题 初始状态: 思考:当盘子的个数是3的时候,大家写出移动顺序 移动的步骤: 3个盘子,从a到c 1、前面两个盘子,从a到b 1)把前面一个盘子,从a到c a->c 2)把第二个盘子,从a到b a->b 3)把c上的盘子,从c到b c->b 2、最后一个盘子,从a到c a->c 3、把b上的 阅读全文
posted @ 2018-04-28 22:14 小七Libra 阅读(304) 评论(0) 推荐(0)
摘要:广度优先遍历:优先遍历兄弟节点,再遍历子节点 算法:通过队列实现--》先进先出 广度优先遍历的结果: 50,20,60,15,30,70,12 程序遍历这个二叉树: # encoding=utf-8from Queue import Queue class TreeNode(object): def 阅读全文
posted @ 2018-03-17 21:44 小七Libra 阅读(2002) 评论(0) 推荐(0)
摘要:二叉树 组成: 1、根节点 BinaryTree:root 2、每一个节点,都有左子节点和右子节点(可以为空) TreeNode:value、left、right 二叉树的遍历: 遍历二叉树:深度优先遍历、广度优先遍历。 广度:先遍历兄弟节点,再遍历子节点 深度:先遍历子节点,再遍历兄弟节点 上图深 阅读全文
posted @ 2018-03-10 22:43 小七Libra 阅读(2855) 评论(0) 推荐(0)
摘要:定义: 栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉, 阅读全文
posted @ 2018-02-28 22:22 小七Libra 阅读(259) 评论(0) 推荐(0)
摘要:一、队列的特征性: 1. 先进先出 9 8 7 6 5 4 3 2 1 0 last first 二、类定义队列 class: 1、实例属性 a.first节点 b.last节点 每一个新元素进来时,都是从最后面插入进来;每一个元素要出去,都是从开头向外出。 2、实例方法 a.进队列 enqueue 阅读全文
posted @ 2018-02-11 18:05 小七Libra 阅读(259) 评论(0) 推荐(0)
摘要:快速排序: 学习快速排序,要先复习下递归: 递归的2个条件: 1. 函数自己调用自己 2.有一个退出的条件 练习:基于递归下一个函数,计算n!并且求出当n等于10的值。 n!=n * n-1*…..*1 #enconding = utf-8 def func(n): if n<=1: return 阅读全文
posted @ 2018-02-11 11:03 小七Libra 阅读(282) 评论(0) 推荐(0)
摘要:插入排序 一、核心思想:在一个有序的数组中,通过逐一和前面的数进行比较,找到新数的位置。 例子:数组有有一个数21 插入一个3,3<21,因此结果为 3,21 再插入一个34,34>21,因此结果为 3,21,34 再插入一个6,34>6,向前移动,21>6,再向前移动,3<6,因此结果为 3,6, 阅读全文
posted @ 2018-01-27 21:35 小七Libra 阅读(137) 评论(0) 推荐(0)
摘要:选择排序: 一、语言描述:从一列数字中依次选出最小的放第一位,次小的放第二位,依次类推完成整个排序 固定位置,找元素 代码实现: # encoding=utf-8 def selectSort(listx): xLen = len(listx) for i in xrange(xLen): min 阅读全文
posted @ 2018-01-27 18:01 小七Libra 阅读(209) 评论(0) 推荐(0)
摘要:冒泡排序 一、python冒泡排序算法: #enconding = utf-8 def Bubble_Sort(listx):#i确定比较次数for i in xrange(len(listx)-1):#j确定比较的是哪个元素for j in xrange(len(listx)-1-i): #通过i 阅读全文
posted @ 2018-01-22 18:23 小七Libra 阅读(2637) 评论(0) 推荐(0)