自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 python归并排序

1,找到数组的中点,将数组分为两个部分,如果是四个数的话,就刚好分成两个和两个数组,这两个数组分别进行排序。排序好后,再进行总的排序。若数组中一共有六个数的话,则分为三个数组和三个数组,这时我们则需要对三个数组在进行分半,直到不能再分了为止。其基本思想是将待排序的序列分成若干个子序列,分别对子序列进行排序,然后将排好序的子序列合并成一个有序序列。将数组从中间拆分成左右两个数组,将左边的数组再拆分成两个数组,然后对左边的两个数组分别进行排序。对上图左边的两个数组进行合并操做,对右边的两个数组也进行合并操作。

2024-03-04 19:53:48 438

原创 python双向BFS

遍历起始节点和目标节点的邻居节点,如果邻居节点未被访问过,更新路径并检查是否相遇,如果邻居节点在目标节点已访问集合中,返回路径连接两个方向的路径,否则将邻居节点加入队列和已访问集合。初始化起始节点和目标节点的队列、已访问节点集合:start_queue = deque([(start, [start])]): 起始节点队列,元素为起始节点和从起始节点到该节点的路径。从当起始节点队列和目标节点队列都不为空时,继续搜索,并且弹出起始节点队列(start)和目标节点队列(end)中的第一个节点和路径。

2024-02-29 19:28:30 486

原创 python(BFS)和(DFS)

搜索过程: 与A相连的有两个节点B,C,所以A搜索结束之后会搜索与A隔了一个单位长度的B,C,之后搜索与A相隔两个单位长度的D和E,之后是F。注意:不能是A,B,C,E,D,F。例如上图:A,B,D,F再回头走E,C。若A为BFS搜索过程的起始点,则BFS会按照A,B,C,D,E,F或A,C,B,D,E,F或A,C,B,E,D,F的顺序进行搜索。若以E为起始点,则搜索的顺序是:E,C,D,A,B,F,这是其中之一的顺序,其他的起始点也是一样。"A":["B","C"],#A的连接点是B和C,下面也是如此。

2024-02-27 20:43:47 679

原创 python实现堆排序

if son+1 heap[son]:'''选取左子树根和右子树根中比较大的编号缓存到son中'''heap[son],heap[start]=heap[start],heap[son]#交换大于父子序列的值,使之在堆顶的位置。heap=[None]+a#因为堆的编号下标为1,所以用[None]来当做占位符,占位数组中下标为0的位置。,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与。要理解堆排序,首先要了解堆的知识。

2024-02-06 19:21:45 683 1

原创 python实现快速排序

排序的思想是:在所给的数组中选择一个参照数(一般是选取左边第一个为参照数),然后把数组中小与参照数的放左边,大于参照数的放右边。然后对参照数左边的数组和右边的数组继续这样的照做,直到数组有序。quick_sort(li,start,mid-1)#对参照值左边进行快速排序。mid=Partition(li,start,end)#获取数组的参照之索引。quick_sort(li,mid+1,end)#对参照值右边进行快速排序。结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]

2024-02-05 19:37:42 293 1

原创 python实现基数排序

编写一个函数将所给的数组减去其中最小的数(若其中有负整数,减去最小的负整数之后数组的值都为正整数,方便排序。排序后的数组再加上原来的最小整数,就为排序后的数组。基数排序是基于桶排序的原理,先按位数分为10个桶。在对数组中的数按位放入对应的桶中。buckets=[[] for _ in range(10)]#取10个桶。#取数字百位数的值:(987//100)%10 对100取整再取余。#取数字十位数的值:(987//10)%10 取整再取余。#取数字个位数的值:987%10 取余。

2024-02-04 22:53:43 316 1

原创 键盘输入正整数a和n,编程 s=a+aa+aaa+aaaa+aa...a(n个a)的值。

解答:首先,我们需要理解题目的大意。首先,a是从个位数从个位拓展到了十位一直到百位千位万位......这样的话就好理解啦!

2023-04-21 19:01:16 2837

原创 从键盘输入一个4位正整数,判断它是否为对称数。如果是,则输出yes,否则输出no。对称数是指正读和倒读都一样的数字。例如:6776

快来和我一起学习C语言吧!

2023-04-08 20:08:28 1898

原创 编写一个字符加密的程序,加密规则是:从键盘输入一个大写或小写字母,将该字母按字母表上的顺序循环向后移3位,得到的字符即为密文,循环向后移时,Z的后面是A,B,…。

快来跟我一起学习c语言热爱c语言吧。

2023-03-29 11:04:06 5466 1

原创 从键盘中输入三个整数到变量a,b和c中,将这三个数由小到大进行排序,使a中存放最小数,c中存放最大数,然后输出。

每天一道c语言的例题,见证我们各自的成长。

2023-02-26 23:00:45 2719

原创 从键盘输入直角三角形两条直角边的长度,求斜边的长度和三角形的面积,计算结果保留两位小数。

为C语言初学者提供一些经验,同时加强自己。

2023-02-23 22:49:48 2813

原创 用C语言编写程序,从键盘输入一整形分钟数(秒数),将其换算成用小时和分钟来表示,然后进行输出。

C语言初学者一些经验分享,希望能对刚学c语言的同学有帮助。

2023-02-22 00:08:12 2510 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除