摘要: ``` def bin_search(data, value): low = 0 hight = len(data) - 1 while low value: hight = mid - 1 else: low = mid + 1 print(bin_search([2,1,8,3,6,9],6)) ``` 阅读全文
posted @ 2018-11-08 12:15 桥前石头 阅读(85) 评论(0) 推荐(0) 编辑
摘要: ``` class InsertSort(object): def __init__(self, data): self.data = data self.length = len(data) def base_insert_sort(self): data_list = self.data for i in ran... 阅读全文
posted @ 2018-11-08 12:14 桥前石头 阅读(85) 评论(0) 推荐(0) 编辑
摘要: ``` class Hero(object): def __init__(self, no=None, nickname=None, name=None, pNext=None): self.no = no self.nickname = nickname self.name = name self.pNext = pNext... 阅读全文
posted @ 2018-11-08 12:13 桥前石头 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 约瑟夫环问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到k的那个人被杀掉;他的下一个人又从1开始报数,数到k的那个人又被杀掉;依此规律重复下去,直到圆桌周围的人只剩最后一个。 思路是:当k是1的时候,存活的是最后一个人,当k =2的时候,构造一个n 阅读全文
posted @ 2018-11-08 11:58 桥前石头 阅读(132) 评论(0) 推荐(0) 编辑
摘要: ``` def quick_sort(data, left, right): if left tmp: right = right 1 data[left] = data[right] while left 阅读全文
posted @ 2018-11-08 11:49 桥前石头 阅读(107) 评论(0) 推荐(0) 编辑
摘要: ``` class Stack(object): def __init__(self): self.pTop = None self.pBottom = None class Node(object): def __init__(self, data=None, pNext=None): self.data = data ... 阅读全文
posted @ 2018-11-08 11:35 桥前石头 阅读(247) 评论(0) 推荐(0) 编辑
摘要: ``` class Child(object): first = None def __init__(self, no=None, pNext=None): self.no = no self.pNext = pNext def addChild(self): cur = None for i in ran... 阅读全文
posted @ 2018-11-08 11:34 桥前石头 阅读(103) 评论(0) 推荐(0) 编辑
摘要: ``` class BubbleSort(object): def __init__(self, data): self.data = data self.length = len(data) def base_sort(self): """ 拿到第一个数往后比较,碰到比它小的,与之交换位置,碰到比它大的则选择大的那... 阅读全文
posted @ 2018-11-08 11:33 桥前石头 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 假设n个输入元素中每一个都是介于0到k之间的整数,此处k为某个整数。当k=O(n)时,计数排序的运行时间为O(n)。 对每一个数的元素x,确定出小于x的元素个数。有了这一信息就可以把x直接放到最终输出数组中的位置上。 计数排序的核心原理就是统计每个数比列表其他数大的次数, 次数越多说明, 这个数越大 阅读全文
posted @ 2018-11-08 10:57 桥前石头 阅读(129) 评论(0) 推荐(0) 编辑