随笔分类 -  算法与数据结构

摘要:二分查找——递归版: def binarySearch(aimlist, item): # 获取列表的长度 n = len(aimlist) # 如果列表非空 if n > 0: # 计算中间索引 mid = n // 2 # 如果中间元素是目标元素,则找到了 if aimlist[mid] == 阅读全文
posted @ 2024-02-25 21:17 Junior_bond 阅读(5) 评论(0) 推荐(0) 编辑
摘要:归并排序: def merge_sort(aimlist): #归并排序 拆分-排序-合并 也就是merge_返回的是是一个已经排好序的列表 n=len(aimlist) if n<=1: return aimlist mid=n//2 aimlist_left=merge_sort(aimlist 阅读全文
posted @ 2024-02-24 21:08 Junior_bond 阅读(5) 评论(0) 推荐(0) 编辑
摘要:插入排序 def insrt_sort(aimlist): n=len(aimlist) for cur in range(1,n): i=cur while i>0: if aimlist[i]<aimlist[i-1]: aimlist[i],aimlist[i-1]=aimlist[i-1], 阅读全文
posted @ 2024-02-21 11:54 Junior_bond 阅读(15) 评论(0) 推荐(0) 编辑
摘要:冒泡排序: def bible_sort(aimlist): n=len(aimlist) j=len(aimlist) while j>0: for i in range(n-1): if aimlist[i]>aimlist[i+1]: aimlist[i],aimlist[i+1]=aimli 阅读全文
posted @ 2024-02-21 10:17 Junior_bond 阅读(2) 评论(0) 推荐(0) 编辑
摘要:栈的实现: class Stack(object): def __init__(self): self.__list=[] def push(self,item): self.__list.append(item) def pop(self): return self.__list.pop() de 阅读全文
posted @ 2024-02-21 10:14 Junior_bond 阅读(2) 评论(0) 推荐(0) 编辑
摘要:二叉树 class Node(object): def __init__(self,val,lchild=None,rchild=None): self.val=val self.lchild=lchild self.rchild=rchild class Tree(object): def __i 阅读全文
posted @ 2024-02-03 16:57 Junior_bond 阅读(9) 评论(0) 推荐(0) 编辑
摘要:单循环链表 class ListNode: def __init__(self,val,next=None): self.val=val self.next=next class SingleLoopLinkList: def __init__(self,node=None): self.__hea 阅读全文
posted @ 2024-02-02 22:17 Junior_bond 阅读(5) 评论(0) 推荐(0) 编辑
摘要:双链表 class ListNode: def __init__(self,val,prev=None,next=None): self.val=val self.prev=prev self.next=next class DoubleLinkList: def __init__(self,nod 阅读全文
posted @ 2024-02-02 14:45 Junior_bond 阅读(3) 评论(0) 推荐(0) 编辑
摘要:class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next class SingleLinkList: def __init__(self,node=None): self.__head= 阅读全文
posted @ 2024-01-31 21:29 Junior_bond 阅读(3) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示