- 博客(9)
- 问答 (1)
- 收藏
- 关注
原创 数据结构与算法python第九天
栈的应用简单括号匹配类似于这样的表达式:(5+6)*(7+8)/(4+3)有些函数语言,如Lisp,在函数定义的时候会用到大量的括号比如: (defun square(n)(* n n))这个语句定义一个计算平方值的函数括号遵循“平衡”规则对括号是否正确匹配的识别是很多语言编译器的基础算法构造括号匹配识别算法从左到右扫描括号串,最新打开的左括号,应该匹配最先遇到的右括号次序反转识别,符合栈的特性from pythonds.basic.stack import Stack
2020-09-29 22:18:14 198
原创 数据结构与算法python第八天
栈抽象数据类型及python实现什么是栈一种有次序的数据项集合生活中栈的应用盘子、托盘、书堆距离栈底越近的数据项,留在栈中的时间就越长而最新加入栈的数据项就会被先移除这种次序通常称"后进先出LIFO":Last in First out这是一种基于数据项保存时间的次序,时间越短的离栈顶越近,而时间越长的离栈底越近栈的特性: 反转次序进栈和出栈的次序正好相反某些计算机操作· 浏览器的"后退back"按钮,最先back的是最近访问的网页抽象数据类型Stack每个数据
2020-09-28 22:31:07 177 1
原创 数据结构与算法python第七天
线性结构-Linear Structure线性结构是一种有序数据项的集合,其中每个数据独有唯一的前驱和后继除了第一个没有前驱,最后一个没有后继新的数据项加入到数据集中时,只会加入到原有某个数据项之前或之后两端的称呼并不是关键,不同线性结构的关键区别在于数据项增减的方式有的结构只允许数据项从一段添加,而有的结构则允许数据项从两端移除从四种最简单且功能强大的结构入手,开始研究数据结构栈-Stack, 队列-Queue, 双端队列-Deque和列表List注: 这些数据的共同点在于,数据项
2020-09-26 19:58:11 116
原创 数据结构与算法python第六天
python数据类型的性能(下)List.pop的计时实验操作:pop( )从列表末尾移除元素, O(1)操作:pop(i)从列表中移除元素, O(n)Python所选择的实现方法从中间移除元素,要把移除元素后面的元素全部向前挪位复制一遍,看起来笨拙,这种方法能够保证按索引取值和赋值的操作很快,达到O(1),这也是一种对常用和不常用操作的折衷方案两种情况下的pop操作来实际计时对比相对同一个大小的List,分别调用pop( )和pop(0)对不同大小的List做计时时,期望的结果是·
2020-09-23 21:46:59 302
原创 数据结构与算法python第五天
python数据类型的性能中国大学链接学习python两种内置数据类型上各种操作的大O数量级列表list和字典dict通过运行估计各种操作运行时间数量级对比list和dict的操作类型ListDict索引自然数i不可变类型值key添加append、extend、insertb[k]=v删除pop、remove*pop更新a[i]=vb[k]=v正查a[i]、a[i:j]b[k]、 copy反查index(v)、coun
2020-09-22 21:18:55 171
原创 数据结构与算法python第四天
“变位词”判断问题(下)解法3:暴力法思路: 穷尽所有可能组合将s1中出现的字符进行全排列,再查看s2是否出现在全排列列表中困难: 产生s1所有字符得到全排列· 根据组合数学的结论,如果n个字符进行全排列,其所有可能的字符串个数为n!分析:n!增长速度超过2**n结论: 不是一个好算法解法4: 技术比较思路:对比两个词中每个字母出现的次数,如果26个字母出现的次数都相同,就是变位词做法: 为每个词设置一个26位的计数器,先检查每个词,在计数词中设定好每个字母出现的次数进入比较阶段
2020-09-21 21:57:52 215
原创 数据结构与算法python第三天
“变位词”判断问题中国大学链接问题描述所谓“变位词”是指两个词之间存在组成字母的重新排列关系如heartheearth, python和typhon解题目标写一个bool函数,以两个词作为参数,返回这两个词是否是变位词很好的展示同一问题的不同数量级算法解法一逐个检查def anagramSolution1(s1, s2): alist = list(s2) ->复制s2的列表 pos1 = 0 stillOK = True whi
2020-09-20 22:36:35 106
原创 数据结构与算法python第二天
大O表示法中国大学链接算法时间度量指标一个算法所实施的操作数量或步骤数可作为独立于集体程序/机器的度量指标赋值语句是一个合适的选择· 一条赋值语句同时包含了(表达式)计算和(变量)存储两个基本资源赋值语句的执行次数分析SumOfN的赋值语句执行次数·对于“问题规模” n·赋值语句数量T(n)=1+ndef sum0fN(n):1 theSum = 0n for i in range(1, n + 1): 1 theSum = theSum + i
2020-09-19 19:45:27 207
原创 数据结构与算法python第一天
小海的数据结构与算法python链接1.0 算法分析如何对比两个程序· 代码分格、可读性等等程序和算法的区别· 算法是对问题解决的分布描述· 程序则是采用某种编程语言实现得算法,同一个算法通过不同得程序员采用不同的编程语言,能产生 很多程序算法本身特性算法分析主要就是从计算资源消耗的角度来评判和比较算法累计求和问题从1到n的累加,输出总和· 设置累计变量=0· 从1到n循环,逐次累加到累计变量返回累计变量def sum0fN(n):
2020-09-18 12:57:38 153
空空如也
Tensorflow
2020-12-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人