![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记
文章平均质量分 80
广外唯稳办
这个作者很懒,什么都没留下…
展开
-
【学习笔记】数据结构和常用算法 - Day6
斐波那契数列该数列的特点是F(n)=F(n-1)+F(n-2),需要用到递归。可用一个数组,初始值全是-1,当某个F(n)的值已被计算过,就将该值存至list[n]。后面再次用到F(n)时,若list[n]不是-1,就直接调用该值,不需要再重复计算了。每一步的选择都是当前看起来的最优解,换言之,只是局部最优解,而不是整体最优解。由初始状态,通过状态转移方程式,计算出所有中间状态,从而计算出终止状态。原理比较两个树的高度,把矮的树连接到高的树上,使新树的高度最小。...原创 2022-07-18 15:04:53 · 176 阅读 · 1 评论 -
【学习笔记】数据结构和常用算法 - Day5
DFS用到了递归的思想,从root节点开始,尽可能深地搜索每一个分支(把一个分支的结果搜索完,再去看下一个分支)回溯=DFS+剪枝(满足条件时就结束该分支,不再往下走)1.找到答案(1)尝试别的可能(2)返回答案。DFS(侧重点分支)1→2→4→5→3→6。2.找不到答案返回上一层递归,尝试别的路径。BFS(侧重点层)1→2→3→4→5→6。面试时经常会同时考查DFS和BFS。层层递进,一层一层遍历。...原创 2022-07-15 10:43:19 · 320 阅读 · 0 评论 -
【学习笔记】数据结构和常用算法 - Day4
一定要有序O(log2N)减少 while 循环数组中的定长问题函数直接或间接调用自己1.接受的参数2.返回值3.终止的条件4.递归拆解:如何递归下一层斐波那契数列时间复杂度:O(2的n次幂)空间复杂度:O(N)1.把大问题切割成一个个小问题大问题→拆分成若干个小问题→若干个小解→合并为大问题的解2.用到了递归,自己调用自己归并排序......原创 2022-07-11 18:00:00 · 282 阅读 · 0 评论 -
【学习笔记】数据结构和常用算法 - Day3
集合的特点:无序,元素不重复1.检查某元素是否存在2.检查是否有重复元素(方法:比较原数据集和对应集合的长度)hashset(常见)、linklistset、treeset …hashset 添加元素的过程:元素→哈希函数→哈希值→放到哈希表相应位置(1.无元素时,直接存;2.有元素且相等时,更新;3.有元素且不等时,产生哈希冲突)解决哈希冲突的方法:链表法(和之前的笔记一样)访问:不能通过索引访问元素搜索、插入、删除:(1)无哈希冲突:O(1)(2)有哈希冲突:O(K),K是冲突元素的个数数据结原创 2022-06-28 14:34:40 · 237 阅读 · 0 评论 -
【学习笔记】数据结构和常用算法 - Day2
队列的特点:先入先出队列(queue)的底层是用链表(linked list)实现的(1)单端队列(常用):只有一个口可以进,一个口可以出(2)双端队列:两个口都可以进出访问:O(N)搜索:O(N)插入:O(1),从末尾插入删除:O(1),从开头删除数据结构 - 栈 stack特点栈的特点:先进后出应用:浏览器的返回上页的功能访问:O(1),指栈顶元素搜索:O(N)插入:O(1)删除:O(1),指栈顶元素数据结构 - 哈希表 hash table特点哈希表 = 散列表键值对:ke原创 2022-06-21 14:44:16 · 278 阅读 · 0 评论 -
【学习笔记】数据结构和常用算法 - Day1
用介于自然语言和计算机语言之间的文字和符号来描述算法,不属于任何一种语言,可翻译为程序员自身熟悉的语言1.常用的数据结构;2.常用的算法定义:算法的执行效率、算法的执行时间与算法的输入值之间的关系;一般是看有没有循环结构;好的代码应尽量降低时间复杂度。表示方法:大O表示法1.时间复杂度O(1),执行时间与输入值 num 无关2.时间复杂度O(N),主要看 for 循环3.时间复杂度O(logN),循环次数是 log2N4.时间复杂度O(M+N)5.时间复杂度O(NlogN)6.时间复杂度O(N²原创 2022-06-17 18:11:23 · 428 阅读 · 0 评论 -
【学习笔记】Python 基础知识 - Day11
目录模块模块化(module)程序设计理念模块和包概念的进化史模块化编程的流程模块的 API 和功能描述要点模块的创建和测试代码模块的导入import 语句导入from…import 导入import 语句和 from...import 语句的区别\_\_import__() 动态导入模块的加载问题包 package 的使用包(package)的概念和结构导入包操作和本质用*导入包包内引用sys.path 和模块搜索路径模块模块化(module)程序设计理念模块和包概念的进化史1.Python 程序原创 2022-03-16 19:09:22 · 798 阅读 · 0 评论 -
【学习笔记】Python 基础知识 - Day10
目录文件操作(IO技术)文本文件和二进制文件创建文件对象open()文本文件的写入基本的文件写入操作常用编码介绍中文乱码问题write()/writelines()写入数据close()关闭文件流with 语句(上下文管理器)文本文件的读取二进制文件的读取和写入文件对象的常用属性和方法文件任意位置操作使用 pickle 序列化CSV 文件的操作csv.reader 对象和 csv 文件读取csv.writer 对象和 csv 文件写入os 和 os.path 模块os 模块 - 调用操作系统命令os 模块原创 2022-03-16 15:26:44 · 752 阅读 · 0 评论 -
【学习笔记】Python 基础知识 - Day9
异常和错误异常机制本质异常指程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。所谓异常处理,就是指程序在出现问题时依然可以正确的执行剩余的程序,而不会因为异常而终止程序执行。Python 中内建异常类的继承层次解决异常问题的态度1.不慌张,细看信息,定位错误。看清楚报的错误信息,并定位发生错误的地方;2.百度并查看十个相关帖子。将异常类信息进行百度,至少查看十个以上的相关帖子;3.以上两步仍然无法解决,找老师和同学协助解决。异常解决的关键:原创 2022-03-15 16:01:30 · 1148 阅读 · 0 评论 -
【学习笔记】Python 基础知识 - Day8
目录面向对象初步方法没有重载方法的动态性私有属性和私有方法(实现封装)@property 装饰器属性和方法命名总结类编码风格面向对象进阶面向对象三大特征介绍继承语法格式类成员的继承和重写查看类的继承层次结构object 根类dir() 查看对象属性重写__str__()方法多重继承mro()super() 获得父类定义多态特殊方法和运算符重载特殊属性对象的浅拷贝和深拷贝组合设计模式_工厂模式实现设计模式_单例模式实现面向对象初步方法没有重载如果我们在类体中定义了多个同名的方法,只有最后一个方法有效。原创 2022-02-24 17:44:42 · 122 阅读 · 0 评论 -
【学习笔记】Python 基础知识 - Day7
目录原创 2022-02-11 14:41:07 · 461 阅读 · 0 评论 -
【学习笔记】Python 基础知识 - Day6
目录原创 2022-02-08 17:46:18 · 823 阅读 · 0 评论 -
【学习笔记】Python 基础知识 - Day5
目录原创 2022-01-30 17:11:26 · 2045 阅读 · 0 评论 -
【学习笔记】Python 基础知识 - Day4
目录序列字典序列字典原创 2022-01-27 15:48:13 · 122 阅读 · 0 评论 -
【学习笔记】Python 基础知识 - Day3
目录字符串可变字符串字符串可变字符串在 Python 中,字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,只能创建新的字符串对象。但是,经常我们确实需要原地修改字符串,可以使用 io.StringIO 对象或 array 模块...原创 2022-01-24 21:00:34 · 889 阅读 · 0 评论 -
【学习笔记】Python 基础知识 - Day2
目录链式赋值,系列解包赋值,常量内置数据类型,基本算术运算符整数浮点数时间的表示布尔值,比较运算符,逻辑运算符同一运算符,整数缓存问题基本运算符,运算符优先级问题字符串,unicode字符集,三种创建字符串方式,len()字符串,转义字符,字符串拼接、复制,input() 获得键盘输入字符串,replace()替换,内存分析字符串,切片slice操作,逆序字符串,split()分割,join()合并,join()效率测试字符串,驻留机制,内存分析,成员操作符字符串,常用查找方法,去除首位信息,大小写转换,排原创 2022-01-11 21:49:18 · 374 阅读 · 0 评论 -
【学习笔记】Python 基础知识 - Day1
目录程序的构成引用标识符变量和简单赋值语句程序的构成\ 是行连接符‘’’ ‘’’ 表示多行注释,# 表示单行注释引用变量位于栈内存,存放对象的地址;对象位于堆内存标识符变量和简单赋值语句1.运行过程中,解释器先运行右边的表达式,生成一个代表表达式运算结果的对象,然后将这个对象地址赋值给左边的变量2.删除变量:del 变量名3.垃圾回收机制:如果对象没有变量引用,就会被垃圾回收器回收,清空内存空间...原创 2022-01-01 20:52:24 · 324 阅读 · 0 评论