随笔分类 -  算法和数据结构

摘要:有向图 # -*- coding:utf-8 -*- def searchGraph(graph, start, end): results = [] generatePath(graph, [start], end, results) results.sort(key=lambda x:len(x 阅读全文
posted @ 2020-01-07 22:54 腹肌猿 阅读(133) 评论(0) 推荐(0) 编辑
摘要:class Node(object): def __init__(self,item): self.item = item self.child1 = None self.child2 = None class Tree(object): def __init__(self): self.root 阅读全文
posted @ 2020-01-06 00:06 腹肌猿 阅读(139) 评论(0) 推荐(0) 编辑
摘要:队列是一种先进先出的数据结构,python中有queue模块来实现队列 数组实现队列: class Queue(): def __init__(self): self.entries = [] #表示队列内的参数 self.length = 0 #表示队列的长度 self.front=0 #表示队列 阅读全文
posted @ 2020-01-01 20:09 腹肌猿 阅读(208) 评论(0) 推荐(0) 编辑
摘要:栈是一种后进先出的数据结构 ,栈满时不能入栈,栈空时不能出栈。 python代码实现: class Stack(object): def __init__(self, limit=10): self.stack = [] #存放元素 self.limit = limit #栈容量极限 def pus 阅读全文
posted @ 2020-01-01 17:01 腹肌猿 阅读(178) 评论(0) 推荐(0) 编辑
摘要:Python 冒泡排序 冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数 阅读全文
posted @ 2019-12-07 21:55 腹肌猿 阅读(109) 评论(0) 推荐(0) 编辑
摘要:来源:http://blog.csdn.net/hkx1n/article/details/3922249 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法, 冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。 稳定时间复杂度又是nlogn级别的是归并排序。 冒泡法: 这是最原始,也是众 阅读全文
posted @ 2019-12-07 21:51 腹肌猿 阅读(548) 评论(0) 推荐(0) 编辑
摘要:Python 线性查找 线性查找指按一定的顺序检查数组中每一个元素,直到找到所要寻找的特定值为止。 def line_search(arr, n, x): for i in range(0, n): if arr[i] == x: return i return -1 arr=['a','b','c 阅读全文
posted @ 2019-12-07 20:56 腹肌猿 阅读(223) 评论(0) 推荐(0) 编辑
摘要:Python 二分查找 二分搜索是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表 阅读全文
posted @ 2019-12-07 20:36 腹肌猿 阅读(244) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示