算法
文章平均质量分 64
S1406793
这个作者很懒,什么都没留下…
展开
-
MCMC算法
MCMC算法:Metropolis算法 python写法原创 2022-12-20 12:20:14 · 3847 阅读 · 1 评论 -
最优化方法---无约束问题:精确线性搜索方法
最优化方法进退法黄金分割法一维牛顿法二分法原创 2022-10-12 17:56:24 · 1543 阅读 · 0 评论 -
02---结构型模式:适配器模式
一、适配器模式组合:在类B里放入类A的对象 ,就可以在类B里使用类A的方法。适配器模式内容:原本两个类不能在一起工作,加了适配器之后,可以在一起工作。类适配器当有多个产品 不适配时,另一种方法: 通过组合来完成 对象适配器将一个接口(cost)转化成另外一个接口(pay),使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。两种实现方法:类适配器:使用多继承——继承接口和待适配类 对象适配器:使用组合...原创 2022-02-24 09:11:11 · 97 阅读 · 0 评论 -
算法进阶03---欧几里得算法
最大公约数原创 2022-02-19 23:44:28 · 286 阅读 · 0 评论 -
算法进阶02---动态规划:
举例:递归方法没有非递归方法快,因为递归中,子问题重复计算导致执行效率低求 f(6)时需要求 f(5),f(4),f(3) ; 等到求 f(7)时,还需要再一次求 f(6), f(5),f(4),f(3)。# 斐波那契数列# 递归def fibnacci(n): if n==1 or n==2: return 1 else: return fibnacci(n-1)+fibnacci(n-2)print(fibnacci(7))#原创 2022-02-19 13:57:52 · 169 阅读 · 0 评论 -
算法进阶01---贪心算法
问题一:# 找零问题问题二:0-1背包:商品1 和商品2 :价值160 商品2 和商品3: 价值 220因此0-1背包不能用贪心算法解释。原创 2022-02-17 22:44:29 · 220 阅读 · 0 评论 -
算法篇08---二叉搜索树的遍历、插入、查询、删除
一、树1. 概念2. 实例二、 二叉树的链式存储将二叉树的节点定义为一个对象,节点之间通过类似 链表 的链接方式来连接。class BiTreeNode(object): def __init__(self,data): self.data = data self.lchild = None # 左孩子 self.rchild = None # 右孩子a=BiTreeNode('A')b=BiTreeNode('B'原创 2022-01-27 15:01:45 · 525 阅读 · 0 评论 -
算法篇07---链表、哈希表
一、链表二、哈希表python的字典、集合都是它实现的。原创 2022-01-19 17:55:02 · 1312 阅读 · 0 评论 -
算法篇06---python队列的内置模块及其应用、栈和队列的应用
学习目标:DAY4 python函数基础(上)学习内容:1、函数的定义,调用,返回值,如何设置参数学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 11 点3、 周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如:1、 技术笔记 2 遍2、CSDN 技术博客 3 篇3、 学习的 vlog 视频 1 个...原创 2022-01-18 17:19:34 · 942 阅读 · 0 评论 -
题目篇03
一、文件操作文件操作是很常见的功能,python自带文件的基本操作方法,但是借助os等模块更加方便快捷。通过使用文件的打开关闭、读写等,完成文件备份脚本(重点) 通过文件定位的相关方法,完成精确控制文件读写3.使用os模块操作文件,提高效率(重点)4.使用time、datetime模块完成时间相关操作(重点)5.通过模块的制作、发布、安装,进一步明白模块的意义(一)文件的读写...原创 2022-01-17 19:44:55 · 316 阅读 · 0 评论 -
算法篇05---数据结构:列表(数组)、栈、队列
一、列表/数组32位机器上,一个整数占4字节(32/8),元组的存储方式如下:数组和列表有两点不同(其他语言称为数组):1. 数组元素类型要相同 2.数组长度固定,python中可以appendpython列表如何实现:python列表中存的类型可以不一样,因此,列表中存的不是值,是地址。一个地址占4个字节,因此列表中每个元素内存大小一样。时间复杂度:. append() O(1) . pop() O(n) . insert() O(n) ...原创 2022-01-17 18:19:54 · 350 阅读 · 0 评论 -
算法篇04---希尔排序、计数排序、桶排序、基数排序
一、希尔排序(Shell Sort)希尔排序是一种分组插入排序算法。d1=n//2=4:将列表分成四组,每行为一组,在每一行内部做插入排序。但整体做一次插入排序,gap=d,第一个蓝色框和第二个蓝色框内的元素进行比较,i 和i+gap 比较。>>>>做完插入排序之后,还原:d=d1//2=2: 重新分组,每一组内部进行插入排序,再还原列表>>>>d3=d2//2=1:等于1 时,对列表进行最后一次插入...原创 2022-01-15 17:00:48 · 408 阅读 · 0 评论 -
算法篇03---归并、归并排序、列表的分解
目录一、归并和归并排序1.归并(merge)2.归并排序(merge)一、归并和归并排序python中的排序算法也是基于归并排序。1.归并(merge)假设现在的列表分为两段有序,如何将其合并为一个有序列表?>>>>将这个过程叫做一次 归并(merge)。 一次归并就可以使得两边有序的列表变成一整个有序的列表。# 归并函数mergedef merge(li,low,mid,high): i=low ...原创 2022-01-14 10:39:16 · 373 阅读 · 0 评论 -
算法篇02---堆排序及其应用
1. 堆排序树1. 树 是一种数据结构,比如目录结构2. 数 是一种可以递归定义的数据结构3. 树 是由n个节点组成的集合:如果n=0,那这是一棵空树 如果n>0,那存在1个节点作为树的根节点,其他节点可以分为m个集合,每个集合本身又是一棵树。根节点:A就是根节点叶子节点: 不能分叉的节点(叶子)树的深度(高度):4节点E的度:2树的度: 树中节点最多的度,6孩子节点/父节点: E 为 I 的父节点,I 为 E 的节点子树: 树的某个分支二叉树原创 2022-01-13 17:31:47 · 746 阅读 · 0 评论 -
题目篇02
4. 判断素数判断101到200之间有几个素数,并且将这些素数输出。def isPrime(li): for item in li: i=2 while i*i <= item: if item%i == 0: li.remove(item) #说明不是素数 break else:原创 2022-01-11 15:19:56 · 224 阅读 · 0 评论 -
算法篇01---汉诺塔问题、查找、排序问题
一、递归---汉诺塔问题二、查找查找:在一些数据元素中,通过一定方法找出与给定关键字相同的数据元素的过程列表查找(线性表查找):从列表中查找指定元素>>> 输入:列表、待查找元素>>>输出:元素下标(未找到元素时一般返回None或-1)内置列表查找函数:index( ),这是顺序查找,因为二分查找必须是有序列表(1) 顺序查找(线性查找)从列表第一个元素开始,顺序进行搜索,知道找到元素或搜索到列表最后一个元素为止。时间复杂度:O(n)原创 2022-01-10 20:23:03 · 842 阅读 · 0 评论