随笔分类 - 算法基本功练习
摘要:把以前网络课的最长前缀匹配的作业重新写了下。简单说一下,输入输出要求如下,详细要求可见课程页面:https://kattis.csc.kth.se/problem?id=forwarding21.路由表以fib 格式给出,以换行符结束2.报文以input 红色为以太报文头,蓝色为目的ip地址Sa...
阅读全文
摘要:从一个有n个元素的列表中,随机选取m个元素,时间复杂度为n: 1 #!/usr/bin/env python 2 3 import random 4 5 #获取一个随机列表 6 a = range(0, 10) 7 random.shuffle(a) 8 print a 9 10 def ran...
阅读全文
摘要:上一篇方法一,在一些特殊输入下时间复杂度会退化为n平方,比如:a = [5,5,5,5,5,5,5]全部一样的情况下方法二采用从左右两个方向遍历列表:1.从左向右找到大于参考值t的元素,2.从右向左找到小于参考值t的元素,3.然后交换两个元素具体实现如下代码所示:需要注意的是在一次排序过程中,m必须...
阅读全文
摘要:为了方便,使用了python作为编程语言,具体实现参考了《编程珠玑》总结一下快速排序的主要步骤为:1. 选取一个参考值t2. 经过一次筛选后,分为小于t,t,和大于t三个区间3. 对小于t,和大于t两个区间进行递归,完成排序方法一:单向循环 1 #!/usr/bin/env python 2 3 ...
阅读全文

浙公网安备 33010602011771号