- 博客(11)
- 资源 (17)
- 收藏
- 关注
原创 背包问题简述
背包问题算法和原理 现有一个容量为Vol的背包,N个种类的物品,第i个物品的容量为weight[i],现在汪背包里面装东西,怎么才能使背包物品的总价值才是最大的?主要分为三类:0-1背包,完全背包和多重背包问题1,0-1背包问题 每件物品都可能被带走或者是留下,只能取0或1 ...
2019-08-07 20:28:33 281
原创 排序算法之归并排序
归并排序归并排序是分治方法一个典型应用。归并排序首先是递归分散数组,再合并。将数组分解成最小之后,合并成有俩个有序的数组,基本思想就是比较两个有序数组最前面的数,谁小先去谁,然后对应的数组的指针后移一位,继续比较,直到一个数组取完为止,最后把剩余的部分全部取出。算法分析:Python 源代码:class Solutions(object): ''' ...
2019-08-06 09:19:46 114
原创 背包问题
class Problems_Backpack(object): def ZeroOnePack(self,N,V,Weight,value): ''' 0-1 背包问题(即每个物品只取一次或者不取) :Param N 物品的个数 如 N=5 :Param V 背包的总容量,如 V=15 :Param wei...
2019-08-04 20:47:47 108
原创 排序算法之插入排序
插入排序 插入排序的基本方法:每步将待排序的元素,按其排序码的大小插入到前面已经拍好的一组元素的适当位置上去,直到元素全部插入位置。 可以选择不同的方法,在已经排好序的有序数据表在寻找插入位置,依据查找方法的不同,有多种插入排序的方法。下面是常用的三种方法:1,直接排序;2,折半排序;3,希尔排序。1,直接插入排序 定义:插入排序...
2019-07-10 16:18:03 263
原创 排序算法之选择排序
选择排序 选择排序:(Select Sort )是一种简单直观的排序方式。其工作原理是:在序列中找到最大(或最小)的元素,存放在序列的起始位置,然后再从剩余的未排序的序列中继续寻找最小(或最大)的元素,然后放到已经排序的序列的末尾。重复上述步骤,直到所有的元素排序完毕。 选择排序的主要的邮电和数据的移动有关。如果某个元素位于正确的最终的位置上,则他不会被移动...
2019-07-09 21:37:01 89
原创 排序算法之冒泡排序
冒泡排序: 定义:冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 算法步骤: 1:从第一个元素开始,依次比较相邻...
2019-07-09 21:02:11 157
转载 双向链表
双向链表一种更复杂的链表是“双向链表”或“双面链表”。每个节点有两个链接:一个指向前一个节点,当此节点为第一个节点时,指向空值;而另一个指向下一个节点,当此节点为最后一个节点时,指向空值。操作is_empty() 链表是否为空 length() 链表长度 travel() 遍历链表 add(item) 链表头部添加 append(item) 链表尾部添加 insert(p...
2019-07-09 20:01:10 84
转载 单向循环链表
单向循环链表单链表的一个变形是单向循环链表,链表中最后一个节点的next域不再为None,而是指向链表的头节点。操作is_empty() 判断链表是否为空 length() 返回链表的长度 travel() 遍历 add(item) 在头部添加一个节点 append(item) 在尾部添加一个节点 insert(pos, item) 在指定位置pos添加节点 remov...
2019-07-09 19:40:03 105
原创 Python中的栈,队列和双端队列
1,什么是抽象数据类型 定义:抽象数据类型(Abstract Data Type 简称ADT)是指一个数学模型以及定义在此数学模型上的一组操作。抽象数据类型需要通过固有数据类型(高级编程语言中已实现的数据类型)来实现。抽象数据类型是与表示无关的数据类型,是一个数据模型及定义在该模型上的一组运算。对一个抽象数据类型进行定义时,必须给出它的名字及各运算的运算符名,即函数名,并且规定...
2019-07-09 15:33:19 232
原创 Python 闭包
定义:当一个函数在内部定义函数时,内部函数使用外部的参数或者外部函数的局部变量,当内部函数作为返回值是,内部函数使用相应的参数和变量保存在返回的函数中,这种结果就叫闭包。即只有调用内部函数时才能使用内部函数中的相应的参数和变量。Example:def funA(*args): def funB(): result = 0 for i in args...
2019-07-05 22:31:47 94
原创 格式化字符串
两种格式化字符串形式:占位符 format函数占位符形式:Typecode 作用 s 获取传入对象的__str__方法的返回值,并将其格式化到指定的位置 d 将整数,浮点数转换成十进制表示,并将其格式化到指定的位置 e/E 将整数,浮点数转换成科学记数法,并将其格式化到指定的位置 f/F 将整数,浮点数转换成浮点数表示,并将其格式化到指定的...
2019-07-02 18:20:39 134
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人