自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 数据结构和算法 D6

1.归并排序归并排序是采用分治法的一个非常典型的应用。归并排序的思想就是先递归分解数组,再合并数组。将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先取谁,取了后相应的指针就往后移一位。然后再比较,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。def merge_sort(alist): if len(alist) <= 1: return alist # 二分分解 num = len(alist)/

2022-05-05 10:18:50 96

原创 数据结构和算法 D5

排序和搜索1.冒泡排序冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。冒泡排序算法的运作如下:比较相邻的元素。如果第一个比第二个大(升序),就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。

2022-05-01 01:16:36 119

原创 数据结构和算法 D4

1.栈结构的实现栈可以用顺序表实现,也可以用链表实现2.栈的操作栈可以用顺序表实现,也可以用链表实现Stack() 创建一个新的空栈 push(item) 添加一个新的元素item到栈顶 pop() 弹出栈顶元素 peek() 返回栈顶元素 is_empty() 判断栈是否为空 size() 返回栈的元素个数3.栈可以用顺序表实现,也可以用链表实现4.队列栈可以用顺序表实现,也可以用链表实现5.队列的操作Queue() 创建一个空的队列 enqueue(item

2022-04-09 18:45:51 113

转载 数据结构和算法 D3

1 链表1.1 为什么需要链表顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。1.2 链表的定义链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址)。1.3 单向链表单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一

2022-03-21 20:19:21 65

原创 数据结构和算法 D2

1.顺序表1.1 顺序表结构一个顺序表的完整信息包括两部分,一部分是表中的元素集合,另一部分是为实现正确操作而需记录的信息,即有关表的整体情况的信息,这部分信息主要包括元素存储区的容量和当前表中已有的元素个数两项。1.2 顺序表的两种基本实现方式一体式结构和分离式结构。1.3 元素存储区替换一体式结构由于顺序表信息区与数据区连续存储在一起,所以若想更换数据区,则只能整体搬迁,即整个顺序表对象(指存储顺序表的结构信息的区域)改变了。分离式结构若想更换数据区,只需将表信息区中的.

2022-03-08 20:27:31 51

原创 数据结构与算法 D1

1. 算法的概念算法是计算机处理信息的本质,因为计算机程序本质上是一个算法来告诉计算机确切的步骤来执行一个指定的任务。一般地,当算法在处理信息时,会从输入设备或数据的存储地址读取数据,把结果写入输出设备或某个存储地址供以后再调用。算法是独立存在的一种解决问题的方法和思想。算法可以有不同的语言描述实现版本(如C描述、C++描述、Python描述等),我们现在是在用Python语言进行描述实现。2.算法效率衡量实现算法程序的执行时间可以反应出算法的效率,即算法的优劣。单纯依靠运行的时间来

2022-03-03 14:03:51 64

原创 Python基础知识 D9

1. 异常异常指程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需 要处理的文件不存在、数组下标越界等。所谓异常处理,就是指程序在出现问题时依然可以正确的执行剩余的程序,而 不会因为异常而终止程序执行。1.1 异常处理try...except 一个excepttry... except 多个excepttry...except..else:如果 try 块中没有抛出异常,则执行 else 块。如果 try 块中抛出异常,则执行 except 块,不执行 else 块。

2022-02-23 14:12:17 216

原创 Python 基础知识 D8

1 方法没有重载Python 中,方法的的参数没有声明类型(调用时确定参数的类型),参数的数量也可以由可变参数控制。因此,Python 中是没有方法的重载的。定义一个方法即可有多种调用方式,相当于实现了其他语言中的方法的重载。2.方法的动态性Python 是动态语言,我们可以动态的为类添加新的方法,或者动态的修改类的已有的方法。3.私有属性和私有方法(实现封装)Python 对于类的成员没有严格的访问控制限制,这与其他面向对象语言有区别。关于私有属性和私有方法,有如下要点:1.

2022-02-16 00:48:22 172

原创 Python 基础知识 D7

1.嵌套函数(内部函数)一般在什么情况下使用嵌套函数?1).封装-数据隐藏外部无法访问“嵌套函数”。2).贯彻DRY(Don’tRepeatYourself)原则嵌套函数,可以让我们在函数内部避免重复代码。3).闭包2.nonlocal关键字nonlocal用来声明外层的局部变量。global用来声明全局变量。3.LEGB规则Python在查找“名称”时,是按照LEGB规则查找的:Local-->Enclosed-->Global-->BuiltinLo

2022-02-14 17:52:09 429

原创 Ptython 基础知识 D6

1.局部变量和全局变量效率测试局部变量的查询和访问速度比全局变量快,优先考虑使用,尤其是在循环的时候。在特别强调效率的地方或者循环次数较多的地方,可以通过将全局变量转为局部变量提高运行速度。2.参数的传递函数的参数传递本质上就是:从实参到形参的赋值操作。 Python 中“一切皆对象”,所有的赋值操作都是“引用的赋值”。所以,Python 中参数的传递都是“引用传递”,不是“值传递”。具体操作时分为两类:1. 对“可变对象”进行“写操作”,直接作用于原对象本身。2. 对“不可变对

2022-02-12 14:22:04 232

原创 Python 基础知识 D5

1. for循环和可迭代对象遍历*可迭代对象:Python包含以下几种可迭代对象:1.序列。包含:字符串、列表、元组2.字典3.迭代器对象(iterator)4.生成器函数(generator)5.文件对象*range 对象range对象是一个迭代器对象,用来产生指定范围的数字序列。格式为:range(start,end[,step])生成的数值序列从start开始到end结束(不包含end)。若没有填写start,则默认从0开始。step是可选的步长,默认为1。*嵌套循环:

2022-02-11 16:56:55 606

原创 Python基础知识 D4

1 字典元素的访问1.1通过[键]获得“值”。若键不存在,则抛出异常1.2通过get()方法获得“值”。推荐使用。优点是:指定键不存在,返回None;也可以设定指定键不存在时默认返回的对象。推荐使用get()获取“值对象”。1.3.列出所有的键值对 a.items()1.4列出所有的键,列出所有的值 a.keys() a.values()1.5.len()键值对的个数1.6检测一个“键”是否在字典中 "name" in a2 字典元素添加、修改、删除2.1给字典新增“键值对”

2022-02-11 12:03:04 504

原创 Python基础知识 D3

1 可变字符串Python中,字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,智能创建新的字符串对象。可以使用io.StringIO对象或array模块。import io,s=‘x’,sio=io.StringIO(s)2. 序列序列是一种数据存储方式,用来存储一系列的数据。序列中存储的是地址,不是值。在内存中,序列就是一块用来存放多个值的连续的内存空间。常用的序列结构有:字符串、列表、元组、字典、集合2.1 列表列表:用于存储任意数目、任意类型的数据集合。a=[10,

2022-02-10 16:46:12 508

原创 Python基础知识 D2

1.链式赋值:同一个对象赋值给多个变量:x=y=123系列解包赋值:系列数据赋值给对应相同个数的变量(个数必须一致):a,b,c=4,5,6常量:Python不支持常量,只能约定命名规则,以及在程序逻辑上不对常量的值做修改:MAX_SPEED=3.2.最基本的内置数据类型1)整型(整数)2)浮点型(小数)3)布尔型:真假4)字符串型:字符组成的序列5)运算符:+、-、*、/(8/2=4.0,浮点数除法)、//(7//2=3,整数除法)、%(7%4=3,模,取余数)、**(2*

2022-02-08 02:10:17 851

原创 Python 基础知识

1.下载和安装:进入官网www.python.org/downloads/下载和安装2.开发环境:IDLE、Pycharm、wingIDE、eclipse、ipython,前2个为主3.基本格式:严格缩进、区分大小写、注释4.注释:#(单行),"' (多行)5.程序构成:*python由模块做成,一个模块对应python源文件,后缀.py。*模块由语句组成,顺序执行。*语句是python程序的构造单元。6.对象基本组成:一切皆是对象。本质是一个内存块,拥有特定的值,支持特

2022-02-01 15:47:53 803

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除