数据结构和算法
机智的驼驼
这个作者很懒,什么都没留下…
展开
-
日常犯困的数据结构——静态链表、循环链表、双向链表
静态链表类似于数组,有游标、数据和下标组成。游标和下标有对应关系,有索引的功能。循环链表将单链表中终端结点的指针由空指针改为指向头结点。判断单链表是否有环链表尾结点指向链表中某个结点。双向链表在单链表的每个结点中,设置一个指向其前区结点的指针域。PS:记录了一堆没用的,原因是有用的地方没听懂……什么next,nextnext,我真的真的懵逼了……...原创 2019-01-10 17:06:42 · 123 阅读 · 0 评论 -
日常犯困的数据结构——树
树的存储结构双琴表示法、孩子表示法、孩子兄弟表示法。二叉树斜树、满二叉树、完全二叉树。遍历:前序遍历、中序遍历、后序遍历、层序遍历。树与森林的遍历树:先根遍历、后根遍历森林:前序遍历、后序遍历。...原创 2019-01-21 22:36:32 · 101 阅读 · 0 评论 -
日常犯困的数据结构——单链表插入、删除、创建
单链表插入s->next = p->next;p->next = s;单链表删除p->next = p->next->next;单链表创建头插法:每次都让新结点在第一的位置。头指针→新结点→(原)头结点尾插法:新结点插在终端结点后。...原创 2019-01-09 15:43:04 · 171 阅读 · 0 评论 -
日常犯困的数据结构——树
树的存储结构双亲表示法、孩子表示法、孩子兄弟表示法。双亲表示法每个结点中,附设一个指示器指示其双亲结点在数组中的位置。孩子表示法每个结点有多个指针域,其中每个指针指向一棵子树的根节点。...原创 2019-01-19 22:28:58 · 67 阅读 · 0 评论 -
日常犯困的数据结构——串
串的定义由零个或多个字符组成的有限序列,又叫字符串。零个字符的串叫空串,用两个双引号’’’'表示,中间不含空格。朴素的模式匹配算法从主串S中找到子串T的位置。但是效率低。第一步:S[1]与T[1]不相等。第二步:继续将T[1]后移,与S[2]比较,还是不相等。……第六步:KMP模式匹配算法情况一i[5] 与 j[5]不匹配,如果运用BF算法,需要j[1]~j[5]遍历...原创 2019-01-19 22:25:52 · 121 阅读 · 0 评论 -
日常犯困的数据结构——头指针头结点
各种长度数组长度——存放线性表的存储空间总长度(最大值?),不会变化。线性表长度——线性表中元素的个数,会变化。单链表每个结点只包含一个指针域。头指针是必要元素,头结点不是必要元素,头指针指向头结点。...原创 2019-01-09 11:06:40 · 275 阅读 · 0 评论 -
日常犯困的数据结构——时间复杂度
时间复杂度线性阶:非嵌套循环sum = 0for i in range(1,101): sum = sum + iprint (sum)平方解:嵌套循环x = 0; sum = 0; n = 100for i in range(1,n + 1): for j in range(1, n + 1): x = x + 1 sum = su...原创 2019-01-08 22:40:44 · 120 阅读 · 0 评论 -
日常犯困的数据结构——排序
冒泡排序选择排序直接插入排序希尔排序堆排序归并排序快速排序原创 2019-01-23 21:18:23 · 94 阅读 · 0 评论 -
日常犯困的数据结构——查找
顺序表查找(静态)挨个比较有序表查找二分法查找。插值查找折半查找斐波那契查找线性索引查找稠密索引分块索引块内无序,块间有序倒排索引二叉排序树左子树值 < 根结构值 < 右子树值平衡二叉树左右子树的高度差至多等于1,且是二叉排序树多路查找树2-3树2-3-4树B树散列表查找(哈希表)记录的存储位置 = f(关键字)构造散列函数:计算简单,分布均...原创 2019-01-23 21:17:12 · 108 阅读 · 0 评论 -
日常犯困的数据结构——图
图的遍历深度优先遍历、广度优先遍历最小生成树普里姆算法克鲁斯卡尔算法最短路径迪杰斯特拉算法弗洛伊德算法拓扑排序AOV网,无权值关键路径AOE网,有权值...原创 2019-01-23 21:08:14 · 192 阅读 · 1 评论 -
日常犯困的数据结构——栈和队列
栈后进先出,只在表尾进行删除(弹栈)和插入(压栈)操作。表尾→栈顶表头→栈底比如浏览器返回上一页。栈的应用——逆波兰表达式(后缀表达式)遇到数字就进栈,遇到符号就将处于栈顶的两个数字出栈,然后进行计算。图例:求1-2.栈的应用——中缀表达式转后缀表达式规则:从左到右遍历中缀表达式的每个数字和符号,若是数字就输出,即成为后缀表达式的一部分;若是符号,则判断其与栈顶符号的优先级,...原创 2019-01-11 11:18:47 · 126 阅读 · 0 评论 -
3.4正确答案
数组中重复的数字(正确答案)class Solution: # 这里要特别注意~找到任意重复的一个值并赋值到duplication[0] # 函数返回True/False def duplicate(self, numbers, duplication): # write code here for i in range(len(numbe...原创 2019-06-15 20:54:26 · 126 阅读 · 0 评论