![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
PyTtCcMm
这个作者很懒,什么都没留下…
展开
-
排序
排序冒泡排序1.将无序序列中最大的元素移动到尾端(遍历比较,前大后小则交换)2.对剩余无序序列执行上述步骤选择排序1.遍历比较,选出最小值并记录该值索引(循环比较,小则更新)2.交换最小值和无序序列首个元素3.对剩余无序序列重复步骤1,2...原创 2019-01-04 10:25:16 · 165 阅读 · 0 评论 -
栈和队列
栈和队列栈:满足先进后出的存取方式容器一般用线性表实现:顺序表实现:尾部作为栈顶链表实现 : 头部作为栈顶应用:函数调用:函数调用时,将局部变量和参数入栈函数返回: 出栈栈溢出情况:1.局部变量胡参数太多太大2.函数调用过深(递归)队列满足先进先出的存取方式的容器可以直接拿list 当队列或栈使用应用通信...原创 2019-01-10 15:49:36 · 185 阅读 · 0 评论 -
排序算法
排序算法关心算法的两点:1.时间复杂度2.稳点性(相同值的元素维持原有次序)1.用户体验2.减少计算机开销判断方式:是否相邻交换冒泡排序:1.将无序序列最大的元素移动到尾端(遍历比较,前大后小则交换)若本次遍历没有交换发生,则认为全部有序2.对剩余无序序列重复步骤时间复杂度:O(n^2)最优时间复杂度 :O(n)稳定性 :稳定def Bubble_sort(li):...原创 2019-01-10 17:22:23 · 213 阅读 · 0 评论 -
数据结构以及顺序表
数据结构以及顺序表1.程序=数据结构和算法2.穷举法:1.根据部分条件确定可能范围2.逐一验证所有可能性3.算法:定义:算法是独立存在的一种解决问题的方法和思想4.算法的五大特性:输入,输出,有穷,确定,可行5.算法的效率衡量:执行时间=每条指令执行的时间*指令执行的次数==>> 算法的效率决定于 指令执行的次数6…时间频度(执行指令的次数)n 代表问题规模...原创 2019-01-06 19:28:53 · 387 阅读 · 2 评论 -
链表
链表(链式存储的线性表)1.为啥使用链表1.顺序表空间浪费,扩容后有不用的空间浪费了2.内存往往没有能力提供较大的连续空间2.定义:1.数据存储在节点中节点。某个属性=数据2.节点存储下一个节点的位置信息(引用)用户x 存y的引用 =>x=y节点。某个属性=下一个节点表示链表时,用第0个节点即可3.单向链表1.特点:节点包含两个域:元素域,下一个节点链接域2.单...原创 2019-01-06 21:57:40 · 241 阅读 · 0 评论 -
搜索算法
搜索算法二分查找(要求待查序列有序)1.递归实现1.判断中间值是否是待查数据2.在前序列或后序列中递归查找2.非递归实现1.判断中间值是否是待查数据2.向前或向后缩小范围重复步骤1时间复杂度:O(logn)```pythondef binary_serch(li,item):# 二分查找(要求待查序列有序)# 递归实现n = len(li)if n <= 0:r...原创 2019-01-14 09:52:52 · 182 阅读 · 0 评论 -
树
树定义:有限节点组成一个具有层次关系的集合分类:(重点)二叉树 — 》》 完全二叉树1.除最外层 外,其余各层均满了(1对2)2.最外层要从左向右连续紧密排序树的表示:链式存储:数据放到节点中,节点还存放子节点的地址(引用)二叉树创建完全二叉树(按照完全二叉树的规则挂树)1.若树为空,挂到根节点2.根节点入队3.出队依次判断是否有左右孩子,没有则挂树4.依次入队左右孩...原创 2019-01-14 11:26:28 · 165 阅读 · 0 评论