- 博客(14)
- 收藏
- 关注
原创 二分查找及二叉树
搜索搜索是在一个项目集合中找到一个特定项目的算法过程。搜索通常的答案是真的或假的,因为该项目是否存在。 搜索的几种常见方法:顺序查找、二分法查找、二叉树查找、哈希查找二分法查找二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键
2020-11-28 11:31:37
805
原创 Python排序算法
Python排序算法文章目录Python排序算法冒泡排序选择排序插入排序快速排序 (重要!)不同排序算法时间复杂度的比较冒泡排序冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。冒泡排序算法的运作如下:1、比较相邻的元素。如果第一个比第二个大(升序),就交换他们两个。
2020-11-26 19:09:12
144
原创 2020-11-23
Python数据结构与算法文章目录Python数据结构与算法单链表在列表类下定义函数判断列表是否为空求链表长度遍历链表链表尾部添加元素链表头部添加元素指定位置添加节点查找结点是否存在单链表单链表有节点连接而成,每个节点包括存放具体数据的部分数据区(elem)和用来存放下一节点位置的链接区(next)创建单链表的前提是创建节点类# 创建节点类class Node(object): def __init__(self, elem): self.elem = elem
2020-11-23 16:05:06
186
原创 2020-11-20
Python数据结构与算法(2)内存、连续储存一个字节是8位,内存是连续的储存结构顺序表的结构与实现一个顺序表的完整信息包括两部分:表头信息和数据区表头信息又包括容量信息和已有元素个数信息表头与数据区的组合方式有两种:a)一体式结构,b)分离式结构分离式结构在顺序表扩展时,表头地址可以不变储存扩充的两种策略1、每次扩充增加固定数目的储存位置2、每次扩充容量加倍(牺牲空间换取时间策略)顺序表的操作插入元素1、尾端插入元素,时间复杂度为O(1)2、保序的元素插入,最坏时间复杂度
2020-11-20 17:33:09
117
原创 2020-11-19
Python数据结构与算法(1)时间复杂度与大O表示法基本操作,即只有常数项,时间复杂度为O(1)顺序结构,时间复杂度按加法计算循环结构,时间复杂度按乘法计算分支结构,时间复杂度取最大值...
2020-11-19 17:21:37
45
原创 2020-11-17
Python基础知识(9)文章目录Python基础知识(9)文件操作(io技术)CSV文件的读取OS模块递归算法文件操作(io技术)文本文件 #用记事本能直接打开的文件二进制文件 #mp4,jpg,doc文件等文本写入操作测试f = open('a.txt','a')a = '尚学堂\n 百战程序员\n'f.write(s)f.close()with open(r'e.txt','r',encoding= 'utf-8') as f: # 'r'表示读
2020-11-17 18:03:56
79
原创 2020-11-13
Python基础知识(8)文章目录Python基础知识(8)私有属性@property 装饰器继承工厂模式私有属性用私有属性进行封装1.两个下划线开头的属性是私有属性,其他为公共属性2.类内部可以访问私有属性3.类外部不能直接访问私有属性4.类外部可以通过’__类名__私有属性(方法)名‘访问私有属性class Person: def work(s): print('{}要努力工作'.format(s)) def __work(self): p
2020-11-13 21:21:47
47
原创 2020-11-11
Python基础知识(7)文章目录Python基础知识(7)嵌套函数nonlocal、global关键词LEGB规则类构造函数 __init__( )实例属性类对象、类属性、类方法__call__方法嵌套函数1.封装——数据隐藏,外部无法访问嵌套函数2.嵌套函数可以让我们在函数中避免重复代码3.闭包nonlocal、global关键词内层函数使用外部函数的局部变量时需要用nonlocal来声明函数使用全局变量时需要使用global来声明a = 100 #全局变量def oute
2020-11-11 18:13:12
138
原创 2020-11-10
Python基础知识(6)文章目录Python基础知识(6)函数也是对象全局变量,局部变量浅拷贝和深拷贝参数使用lambda函数eval()函数函数也是对象def test01( ): ......c = test01c( )全局变量,局部变量全局变量是函数外的变量局部变量是函数内调用的函数,在函数外无法调用在函数内也不可直接调用全局变量,需要增加声明 如: global aprint(locals()) #打印输出的局部变量print(globals()) #打印输
2020-11-10 20:40:57
41
原创 2020-11-06
Python基础知识(5)文章目录Python基础知识(5)for循环结构嵌套循环break和contiune语句循环中 else 语句循环代码的优化推导式小练习:画不同颜色的同心圆for循环结构嵌套循环#嵌套循环测试for x in range(5): for y in range(5): print(x,end='\t') print()#打印乘法表for m in range(1,10): for n in range(1, m+1):
2020-11-06 19:04:46
860
原创 2020-11-04
Python基础知识(4)文章目录Python基础知识(4)字典创建字典获取字典信息字典元素的修改、添加和删除字典解包通过字典创建表格字典的底层逻辑选择结构while循环字典创建字典1、直接创建:a = {‘ key ’:‘ value ’,‘ ’:‘ ’}2、通过zip创建字典:k = [’ ‘,’ ']v = [’ ‘.’ ']d = dict(zip(k,v))3、创建空字典:c = { }d = dict( )获取字典信息1获取值对象a.get(
2020-11-04 11:07:00
67
原创 2020-10-29
Python基础知识(3)1.列表a.append() #在列表尾部添加元素a.extend([ ]) #将目标列表的所有元素添加到原列表尾部a.insert( , ) #插入元素,第一个参数是插入位置,第二个参数为插入值a.pop() #删除索引位置元素a.remove() #删除列表中第一个指定的值a.sort() #默认升序排序a.sort(reverse=True) #降序排序sum(a ) #对列表内元素求和二维列表源码:a
2020-10-29 14:11:59
110
原创 NLP学习之路(Day2)
Python基础知识(2)1.链式赋值:同一对象赋值给多个变量x=y=123解包互换实现变量互换a,b = 1,2a,b = b,aprint(a,b)2.进制0b,二进制0o,八进制0x,十六进制类型转换int(3.14)—3 #舍去小数int(True)—13.逻辑运算符4.is和==的区别is用于判断两个变量引用对象是否为同一个==用于判断值是否相等5. 转义字符6.字符串拼接:print( ‘123’ +‘456’)123456 字符串复制 :
2020-10-28 18:01:53
182
原创 NLP学习之路(Day1)
python基础知识(1)1.对象的基本组成python中每个对象由标识(id)、类型(type)、值(value)组成·id( ) 返回标识·type() 返回类型(int,float,str)`print( ) 返回值2.对象的引用变量位于:栈内存对象位于:堆内存3.标识符命名规则模块和包名:全小写,多个单词之间下划线连接函数名:全小写类名:首字母大写常量名:全大写(避免数字开头,双下划线开头,关键词)用turtle画奥运五环小实例import turtl
2020-10-27 16:52:31
166
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人