算法
枝头的云雀
无
展开
-
算法1.3.2 链表
直接放上代码,这部分很简单,最后做了一个node的调换。class node(): def __init__(self,number): self.number=number self.next=Nonen1=node(1)n1.next=node(2)n1.next.next=node(3)h=n1.next.next.nextn1.next.next.next=n1.nextn1.next=n1.next.next# print(n1.ne原创 2020-06-22 23:56:04 · 92 阅读 · 0 评论 -
算法 1.3.1 堆栈计算器词法分析器
首先我们做一个硬核的设计:然后丢入python代码:class mathss: def __init__(self,string): import queue self.string=string+"#" self.number=[i for i in ".0123456789"] self.charr=[['#'],['+','-'],['*','/'],['('],[')']] self.KUO=0原创 2020-06-21 21:05:22 · 265 阅读 · 1 评论 -
算法 1.3.0 queue和stack
队列:import queueq=queue.Queue() #队列q.put([1,2,"3"]) # q.put(class XXX)放对象在里面是常规操作print(q.get())print(q.qsize())print(q.empty())print(q.full())q.queue.clear() #清空队列堆栈:import queueq=queue.LifoQueue() #堆栈q.put(1)q.put(2)print(q.get())其他操作原创 2020-06-20 23:53:25 · 97 阅读 · 0 评论 -
算法1.1.10 二分查找算法--插入65万记录文件效率与遍历方法比较
在一个65W行数据中插入记录,传统遍历和二分法查询效率差异惊人DATAS_txt=r'large100W.txt'# 1.准备文件按照指定行读取import linecacheimport random# text=linecache.getline(DATAS_txt,1)import time def write_wenjian111(random_min,random_max,times): ff = open(DATAS_txt, "r+") words = f原创 2020-06-20 16:38:45 · 154 阅读 · 0 评论 -
算法 1.1.10 二分查找
#二分查找,在numbers中找数numbers=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20,21,22,23,25,100,101,111,125,256,2223]# 超前需要numbers由小到大排序# 二分查找num=[]def gogo(key,numbers): global num n=0 print("搜索的数为:",key) fro=0 #搜索的头 lss=len(numbers)-1 #搜.原创 2020-06-19 21:19:31 · 254 阅读 · 0 评论