文章分类 -  算法入门

算法
摘要:class Node: def __init__(self, name, type='dir'): #name:文件名 type:用于判断文件夹还是文件 self.name = name self.type = type self.children = [] # 建立个空列表 self.parent 阅读全文
posted @ 2022-05-01 04:26 yu-ye 阅读(37) 评论(0) 推荐(0) 编辑
摘要:# 哈希表一个通过哈希函数来计算数据存储位置的数据结构,通常支持如下操作: # insert(key,value):插入键值对(key,value) # get(key:如果存在键为key的键值对则返回其value,否则返回空值 # delete(key):删除键为key的键值对# 直接寻址表:ke 阅读全文
posted @ 2022-05-01 04:24 yu-ye 阅读(31) 评论(0) 推荐(0) 编辑
摘要:# 队列# 队列(Qu©ue)是一个数据集合,仅允许在列表的一端进行插入,另一端进行删除。# 进行插入的一端称为队尾(rear),插入动作称为进队或入队# 进行删除的一端称为队头(front),删除动作称为出队# 队列的性质:先进先出(First--in,First--out)# 列头 列尾# 出队 阅读全文
posted @ 2022-05-01 04:17 yu-ye 阅读(44) 评论(0) 推荐(0) 编辑
摘要:# 栈(Stack)是一个数据集合,可以理解为只能在一端进行插入或者删除操作的列表。# 栈的特点:后进先出LIFO(last-in,first-out)# 栈的概念:栈顶、栈底# 栈的基本操作:# 进栈(压栈):push# 出栈:pop# 取栈顶:gettop# 栈顶 top--> An 表尾# . 阅读全文
posted @ 2022-05-01 04:14 yu-ye 阅读(21) 评论(0) 推荐(0) 编辑
摘要:# 在计数排序中,如果元素的范围比较大(比如在到1亿之间)如何改造算法?# 桶排序(Bucket Sort):首先将元素分在不同的桶中,在对每个桶中的元素排序# 桶排序的表现取决于数据的分布。也就是需要对不同数据排序时采取不同的分桶策略。# 平均情况时间复杂度:O(n+k)# 最坏情况时间复杂度:O 阅读全文
posted @ 2022-05-01 04:09 yu-ye 阅读(19) 评论(0) 推荐(0) 编辑
摘要:00 阅读全文
posted @ 2022-05-01 04:06 yu-ye 阅读(5) 评论(0) 推荐(0) 编辑
摘要:# 树与堆排序 # 树是一种数据结构 # 比如:目录结构 # 树是一种可以递归定义的数据结构 # 树是由n个节点组成的集合: # 如果n=0,那这是一棵空树; # 如果>0,那存在1个节点作为树的根节点,其他节点可以分为m个集合,每个集合本身又是一棵树。# A# B C D E F H# I J K 阅读全文
posted @ 2022-05-01 04:00 yu-ye 阅读(19) 评论(0) 推荐(0) 编辑
摘要:# 排序方法 时间复杂度 空间复杂度 稳定性 代码复杂度# 最坏情况 平均情况 最好情况# 冒泡排序 0(n2) 0(n2) O(n) 0(1) 稳定 简单# 直接选择排序0(n2) 0(n2)+ 0(n2) 0(1) 不稳定 简单# 直接插入排序 0(n2) 0(n2) 0(n2) 0(1) 稳定 阅读全文
posted @ 2022-05-01 03:55 yu-ye 阅读(26) 评论(0) 推荐(0) 编辑
摘要:# 什么是列表查找# 查找:在一些数据元素中,通过一定的方法找出与给定关键字相同的数据元素的过程。# 列表查找(线性表查找):从列表中查找指定元素# 输入:列表、待查找元素# 输出:元素下标(未找到元素时一般返回None或-1)# 内置列表查找函数:index() # 查找# 查找:在一些数据元素中 阅读全文
posted @ 2022-05-01 03:44 yu-ye 阅读(22) 评论(0) 推荐(0) 编辑
摘要:# 递归:# 递归的两个特点:# 调用自身# 结束条件# 修改递归最大次数 # import sys # sys.setrecursionlimit(10000)# 递归1: 先执行,后调用def fun1(x): if x > 0: print(x) fun1(x-1)# 递归2 #先调用,后执行 阅读全文
posted @ 2022-05-01 03:41 yu-ye 阅读(23) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示