QQL's Blog

Life is just a series of trying to make up your mind.

python实现数据结构2

重要的数据结构2

数据结构 链表 链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。 定义:链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是由一系列节点组成的元素集合。每个节点包含两部分,数据域item和指向下一个节点的指针next。通过节点之间的相互连接,最终串成一个链表。 创建链表: 头插法 尾插法 class Node: ...

python实现数据结构

重要的数据结构

数据结构 数据结构按照逻辑结构可分成3种 1.线性结构:数据结构中元素存在一对一的相互关系 2.树结构:数据结构中元素存在一对多的相互关系 3.图结构:数据结构中元素存在多对多的相互关系 列表 32位机器上,一个整数占4个字节,一个地址占4个字节 64位则8个字节 数组和列表有两点不同:  1.数组元素类型要相同,列表元素可以为多种类型的元素  2.数组的长度固定 python列表不是存真实...

python算法2

令人头疼的算法2

其他排序算法 希尔排序 原理:希尔排序(Shell Sort)是一种分组插入排序算法(插入算法升级版) 希尔排序分析: 每次减半分为一组,gap=len(n)//2,每组再进行插入排序 def insert_sort_gap(li, gap): for i in range(gap, len(li)): # i表示摸到的牌的下标 tmp = li[i] ...

python算法

令人头疼的算法

python算法实现 算法时间复杂度主要看:一般情况和最坏情况 二分查找 def binary_search(li, val): """ :param li:传入列表 :param val: 需要查找的值 :return: val """ left = 0 # 指针left:起始最小长度为0 right = len(li) - 1...

python第四章

详解python面对对象

面向对象3大特性 封装 简述:方法封装到来类中(函数封装到类中,并且第一个参数为self,变成方法);数据封装到对象中(__init__中,添加参数数据) 私有属性/方法:封装后,__开头的属性或函数不能再外部调用,否则会报错。在类的内部依然可以访问 其实这仅仅这是一种变形操作,类中所有双下划线开头的名称如__x都会自动变形成:_类名__x的形式 而__x(self)这种方法在类的定义阶段就...

python第三章

详解python常用模块

导入包最好使用绝对路径  环境变量:import sys  sys.path获取路径列表  添加父级路径 import sys ,os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #__file__的是打印当前被执行的模块.py文件相对路径,注意是相对路径 print(BASE_DIR) sys...

python第二章

详解python文件操作&函数用法

三元运算  三元运算又称三目运算,是对简单的条件语句的简写  优点   它在一行中书写,代码非常精练、执行效率更高  缺点   嵌套使用的三元运算符可读性不太好,日后对代码的维护极可能存在问题 python最大递归层数:998  更改最大递归层数:import sys sys.setrecursionlimit(100000) python2与python3区别  1.print   在 P...

python第一章

Hello World,详解python基础语法

Hey,欢迎来到python基础语法 1.编程语言介绍: 机器语言  用二进制代码0和1描述的指令称为机器指令 汇编语言  汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆 高级语言  1.编译型语言:C、C++、Delphi等   执行速度快,在应用源程序执行之前,就将程序源代码“翻译”成目标代码,即机器语言,所以不依赖...