![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法题解
LuFAn~
这个作者很懒,什么都没留下…
展开
-
2020年4月15 华为实习生笔试题
2020年4月华为实习生笔试题三道大题。编程小白指不定哪个地方是有问题的,大家一起来找茬。1.题目大意:投票评选,票数最多者当选,票数相同按姓名排序,小者优先。要求输入人名必须为开头大写,其余小写,否则返回‘error.0001’输入示例:Tom,Lily,Tom,Lucy,Lucy,Jack输出示例:Lucy输入示例:Tom,Lily,Tom,Lucy,Lucy,Tom,Jack输出...原创 2020-06-04 17:39:54 · 1343 阅读 · 0 评论 -
二叉堆的Python实现
二叉堆是指满足堆次序(堆积性质)的完全二叉树。其中堆积性质值任何一个节点X,其父节点P中的key均小于x中的key,即符合堆积性质的二叉树其中任何一条路径都是一个有序数列,根节点key最小。完全二叉树是指叶节点最多只出现在底层和次底层,最底层节点连续集中在最左边(左对齐),每个内部节点都有两个子节点(最多一个例外)的二叉树。同时满足上述两个条件即可形成一个二叉堆。、二叉堆的Python实现#5.二叉堆class BinHeap: def __init__(self): s原创 2020-05-31 16:46:29 · 511 阅读 · 0 评论 -
各种排序算法总结&实现[Python]
主要排序算法:冒泡、选择、插入、希尔、归并、快速、堆排序。时间复杂度和空间复杂度及稳定性(原始序列中相同的两个元素经排序后前后顺序不改变)总结如下图。1.冒泡排序从序列第一个数开始,n-1趟遍历,每一趟比较相邻元素,逆序交换,目的在于使得每一趟最后一个元素是最大值。def bubbleSort(alist): for passnum in range(len(alist)-1,0,...原创 2020-05-08 15:18:54 · 208 阅读 · 0 评论 -
归并排序的递归实现&迭代实现[Python]
归并排序:分治法策略的典型应用。主要思想是将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。时间复杂度o(nlogn),会使用额外存储空间,具有稳定性(原始序列中相同的两个数排序后前后顺序不变)。递归解法过程如下:将原始序列持续分裂为凉拌,对两半分别进行归并排序python实现def recMergeSort(alist): #对半分裂o(log...原创 2020-05-08 13:31:30 · 1640 阅读 · 1 评论