
算法设计
-小黄怪-
这个作者很懒,什么都没留下…
展开
-
python实现双向链表以及双向循环链表
双向链表python实现,功能完备,代码健全,你值得拥有原创 2022-11-22 14:40:31 · 840 阅读 · 0 评论 -
数独生成-python
数独生成,python原创 2022-10-19 15:06:08 · 1482 阅读 · 2 评论 -
文本比对-python
文本比对-python原创 2022-10-13 16:55:09 · 3135 阅读 · 0 评论 -
python 插入排序算法实现
def insert_sort1(l): for i in range(1,len(l)): # print('i:',i) for j in range(0,i): if l[i]<l[j]: # print(i,l[i]) l.insert(j,l[i]) l.pop(i+1)def insert_sort2(arr): ".原创 2022-07-25 14:29:00 · 168 阅读 · 0 评论 -
撒豆法计算Π值with python
原理简介:前提公式:S圆=Π*r^2在一个边长为a的正方形内有一个内切圆,圆的面积为Π*(a/2)^2=Π*a^2/4,正方形面积为a^2,所以S圆/S正方形(记为x)=Π/4,所以Π=4*x。在一个正方形的区域内随机撒一定数量的黄豆,落在内切圆区域内的黄豆数量m可以看作内切圆的面积,而落在正方形内的黄豆数量n可以看作正方形的面积(即黄豆的总数量),所以Π=4*(m/n),现实生活中,正方形越大,撒豆数量越多,则计算出来的Π值越准确,反之越不准,而用编程语言则可以轻松解决这一弊端。import原创 2022-03-23 11:28:23 · 3211 阅读 · 0 评论 -
堆排序算法
堆排序算法理解:用列表表示堆积,父节点i,子节点2i+1、2i+2,第一步先从最后一个父节点开始遍历一遍,二叉树基本有序,此时根节点为最大值,最后一个子节点为最小值,交换根节点和最小子节点,交换过去的根节点(当时的最大值)不再参与遍历,之后再依次从根节点开始遍历找出最大值(根节点)和最小值(最后一个子节点),交换根节点和最小子节点,交换过去的根节点(当时的最大值)不再参与遍历,重复此步骤直到不再有可遍历的子节点。#置为大顶堆def max_heap(cards,start,end): d原创 2021-11-10 18:07:19 · 448 阅读 · 0 评论 -
哈希排序——降维打击法
import timeimport randomn=10000000def randNum(l,n): for i in range(n): l.append(random.randint(0,n))cards=[]randNum(cards,n)def hash_sort(cards): c=[] l=[0 for i in range(len(cards)+1)] for i in cards: l[i]+=1 .原创 2021-11-09 17:01:37 · 538 阅读 · 0 评论 -
卡牌排序的链表实现
import timeimport random#卡牌排序适用链表节点class Node: def __init__(self,x=None): self.val=x self.next_node=None#卡牌排序适用链表class LinkList: def __init__(self): self.head=None def list_print(self): node=self.head .原创 2021-11-09 11:59:17 · 419 阅读 · 0 评论 -
二进制数--递归算法实现
个人觉得蛮有创造性的一个算法,可实现二进制数的底层逻辑,相应的也可以实现其它进制数的底层逻辑def add(x): y=[] if x[-1]=='0': x[-1]='1' return x else: x[-1]='0' y.append(x[-1]) x.pop() if len(x)==0: return ['1']+y retur原创 2021-11-04 11:30:28 · 288 阅读 · 1 评论