随笔分类 - data structure and algorithm with python
对于最近读的两本《problem solving with Algorithm and Data Structure》以及《DataStructures and Algorithms with Python》两本书的总结
摘要:少年,不知道你好记不记得第三篇文章讲python内建数据结构的方法及其时间复杂度时里面关于dict与set的时间复杂度[为何访问元素为O(1)]原理我说后面讲吗?其实就是这篇文章讲啦。 目录: 一:Hash的定义 二:dict与set的实现原理 三:常用构造hash函数的方法 四:hash碰撞及其解
阅读全文
摘要:一:线性查找(Sequential Search) 线性查找可以说是我们用的最早也会是用的最多的查找方式了。其对应的是线性数据结构,回顾一下线性数据结构,其特点是先后加入的元素是有顺序的,相邻的。而线性结构就是按其顺序挨个遍历的查找方式: for i in range(len(seq)): if s
阅读全文
摘要:顶先最后推荐:哈哈,意思是放到顶部强调其重要性,但是应该我总结的六种算法看完了后再看的一篇醍醐灌顶的文章 一:冒泡排序(Bubble Sort) 原理:假设有n个数,第一轮时:从第一个元素开始,与相邻的元素比较,如果前面的元素小就交换,直到第n-1个元素时,这样的结果是将最大的元素放到了最后,同理,
阅读全文
摘要:定义:递归就是不断分割整体成部分直到可以轻易解决分割出来的部分。 递归表达式三定律: 1:递归表达式必须有个最小单元 (最小单元既是停止递归调用以及能够直接运算的) 2:递归表达式在运算过程中必须向最小单元移动 3:递归表达式必须递归的调用自己 一:简单实例: 1:求数字数组所有元素的和 def s
阅读全文
摘要:目录: 前言 1:栈 1.1:栈的实现 1.2:栈的应用: 1.2.1:检验数学表达式的括号匹配 1.2.2:将十进制数转化为任意进制 1.2.3:后置表达式的生成及其计算 2:队列 2.1:队列的实现 2.2:队列的应用之囚徒问题 3:双端队列 3.1:双端队列的实现 3.2:双端队列的应用之回文
阅读全文
摘要:目录 一:python内部数据类型分类 二:各数据结构 一:python内部数据类型分类 这里有个很重要的东西要先提醒注意一下:原子性数据类型和非原子性数据类型的区别 Python内部数据从某种形式上可以分为两种: 其一是原子性数据类型:int,float,str 其余的是非原子性的(按有序性分):
阅读全文
摘要:目录: 一:大O记法 二:各函数高阶比较 三:常用算法和数据结构的复杂度速查表 四:常见的logn是怎么来的 一:大O记法 算法复杂度记法有很多种,其中最常用的就是Big O notation(大O记法): 对于其中的g(x)是关于操作元素数x为自变量的计算次数函数,而x趋近无穷大从而只留下最高项且
阅读全文
摘要:这段时间把《Data Structure and Algorithms with python》以及《Problem Solving with Algorithms and DataStructures》看完了(图那部分没仔细看,毕业设计开始了,有点忙)。现在开始写点总结啦,主要顺序按照是probl
阅读全文