随笔分类 - Python
摘要:python实现树与二叉树的代码:#创建二叉树的类class BiTreeNode: def __init__(self,data): self.data=data self.lchild=None #左孩子 self.rchild=None #右孩子a=BiTreeNode("A")b=BiTre
阅读全文
摘要:python实现代码如下所示: #创建一个哈希表的类别class hashtable: def __init__(self,size=101): self.size=size #self.T=[linklist() for i in range(self.size)] #创建长度为size的链表,T
阅读全文
摘要:python实现链表的代码如下所示: #链表的创建和连接函数#链表是由数据域item和next连接关系class Node: def __init__(self,item): self.item=item self.next=Nonea=Node(1)b=Node(2)c=Node(3)a.next
阅读全文
摘要:python实现代码如下所示: #导入python里面自带的数据结构模块(deque双向队列)from collections import deque#右边进来,左边出去,单向队列q=deque([1,2,3],5) #第一个参数为初始化的队列,第二个参数是队列的长度q.append(4) #队尾
阅读全文
摘要:python实现迷宫问题的栈和队列的解决方法: #迷宫问题#表示迷宫的颜色,0表示路通,1表示围墙maze=[ [1,1,1,1,1,1,1,1,1,1], [1,0,0,1,0,0,0,1,0,1], [1,0,0,1,0,0,0,1,0,1], [1,0,0,0,0,1,1,0,0,1], [1
阅读全文
摘要:#面试题1:判断两个字符串是否为相同字母的重新组合O(n2)#解决办法1,直接进行1个元素1个元素的进行搜索和对比def view(s,t): s=list(s) t=list(t) r=True r1=False if len(s)==len(t): for i in range(len(s)):
阅读全文
摘要:python版本实现代码如下所示: #定义一个栈Stack()class Stack: def __init__(self): self.stack=[] def push(self,element): self.stack.append(element) def pop(self): return
阅读全文
摘要:#topk问题的解决思路#先构造小根堆调整函数def sift(li,low,high): #li是指列表,low是指根节点位置,high是指最后一个元素位置 i=low #最开始跟节点的位置 j=2*i+1 #左边下一层孩子节点 tmp=li[low] #把堆顶元素存下来 while j<=hig
阅读全文
摘要:#堆排序的python版本代码#堆排序的向下调整函数#大根堆的建立方函数def sift(li,low,high): #li是指列表,low是指根节点位置,high是指最后一个元素位置 i=low #最开始跟节点的位置 j=2*i+1 #左边下一层孩子节点 tmp=li[low] #把堆顶元素存下来
阅读全文
摘要:实现python代码如下: import syssys.setrecursionlimit(100000) #设置递归的最大限制次数为100000次from cal_time import *import random#递归partition函数def partition(li,left,right
阅读全文
摘要:运行效率较慢的三大排序算法:冒泡、选择与插入算法,时间复杂度都为O(n2),运行效率较慢。 #python 代码实现如下所示: li=[2,1,4,5,7,8,9,5,3]#冒泡算法(升序算法)O(n2)import randomfrom cal_time import *@cal_timedef
阅读全文
摘要:1、计算程序运行的时间函数(python版本)import timedef cal_time(func): def wrapper(*args,**kwargs): t1=time.perf_counter() result=func(*args,**kwargs) t2=time.perf_cou
阅读全文
摘要:第二章 查找和排序算法课时1:列表查找1、列表查找的含义:从对象中查找某一个特定的元素2、列表查找的方式包含两种:顺序查找和二分查找3、顺序查找算法:从开始一直搜索到最后一个元素进行查找,for循环,时间复杂度为O(n);4、二分查找针对有效的列表直接进行首尾二分查找,不断使得候选区减半,所以其时间
阅读全文
摘要://2020.02.29数据结构与算法入门(python版本)第1章 评判算法的优劣指标有哪些?课时1:算法的基本概念 1、算法Algorithm是一个计算过程,是指解决一个问题的方法.2、数据结构是指数据存储的一种结构方式,是静态的.3、程序=数据结构+算法(尼古拉斯凯奇说过的一句著名的话).课时
阅读全文
摘要:1、操作SQLite数据库import sysfrom PyQt5.QtSql import QSqlDatabase,QSqlQueryfrom PyQt5.QtCore import *def creatDB(): db=QSqlDatabase.addDatabase("QSQLITE") #
阅读全文
摘要:1、缩放图片'''使用QImage.Scale(width,height)方法可以来设置图片'''from PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *import sysclass scale
阅读全文
摘要:1、QSS基础-设置同类控件样式'''QSS基础:Qt Style SheetQt样式表用于设置控件的样式和风格(比如控件的背景色,字体颜色,字体大小等)和CSS的功能比较相似,功能相似'''from PyQt5.QtCore import *from PyQt5.QtGui import *fro
阅读全文
摘要:1、下载PyQtGraph模块 Windows上下载: pip install pyqtgraph Linux上下载: pip3 install pyqtgraph MacOS上下载: pip3 install pyqtgraph 下载完毕后我们可以运行以下代码: import pyqtgraph.
阅读全文
摘要:1、多窗口交互-使用信号与槽函数'''如果一个窗口和一个窗口交互,尽量不要访问窗口B的控件;应该访问与信号绑定的槽函数,从而降低窗口之间的耦合度例:如果A直接访问B窗口的控件,一旦B窗口的控件发生改变,则A和B的代码都需发生变化如果A访问B中的信号,则B靠近发生改变,则只需要改变B中的代码,而不需要
阅读全文
摘要:1、信号与槽函数基础'''信号与槽函数基础,信号是一个事件,发射信号之后槽函数就会执行'''from PyQt5.QtWidgets import *import sysclass signal(QWidget): def __init__(self): super(signal,self).__i
阅读全文