算法
番茄西瓜汤
这个作者很懒,什么都没留下…
展开
-
排序算法: 初级三大算法思路与python代码演示
三大初级算法难度 ★算法复杂度O(n2)冒泡排序 ★Bubble Sort算法复杂度: O(n2)思路趟数从0开始算每一趟,列表相邻两前面比后面大则交换位置, 每一趟无序的少一个,有序的多一个数优化: 如果一趟没有一个交换位置,那么这一趟之后就完成了def bubble_sort(li): for i in range(len(li) - 1): # 第i趟...原创 2018-11-22 12:16:29 · 114 阅读 · 0 评论 -
排序算法: 三大中级排序算法,原理解析及用法
三大中级算法难度 ★★算法复杂度O(nlogn)一般情况下速度: 快速排序< 归并排序 < 堆排序快速排序: 缺点极端情况下效率低堆排序: 缺点在快的排序算法中相对慢归并排序: 缺点要有额外内存空间快速排序 ★★quick Sort算法复杂度: O(nlogn) <n乘logn>思路每趟取第一个元素,让列表被该元素分为两部分,左边的比他小,右边比...原创 2018-11-24 00:19:16 · 274 阅读 · 0 评论 -
算法:栈的使用、原理及案例
栈特点:后进先出 (last-in,first-out)进栈(压栈):push出栈:pop取栈顶: gettop运用:栈进行括号匹配class Stack: def __init__(self): self.stack = [] def push(self, element): self.stack.append(elemen...原创 2018-11-26 16:34:08 · 360 阅读 · 0 评论 -
算法:列队的原理、使用及案例
Queue 是数据集合,仅允许在列表的一端插入,另一端删除性质:先进先出代码实现class Queue: def __init__(self, size=100): self.queue = [0 for _ in range(size)] self.size = size self.rear = 0 # 队尾指针 ...原创 2018-11-26 16:36:04 · 331 阅读 · 0 评论 -
算法:栈与队列的经典案例,模拟迷宫算法
模拟迷宫# 1代表墙壁0代表通道maze = [ [1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 0, 0, 1, 0, 0, 0, 1, 0, 1], [1, 0, 0, 1, 0, 0, 0, 1, 0, 1], [1, 0, 0, 0, 0, 1, 1, 0, 0, 1], [1, 0, 1, 1, 1, 0, 0, 0,...原创 2018-11-26 16:37:14 · 1163 阅读 · 1 评论 -
python中 哈希表应用,常见函数 MD5和SHA2算法
通过哈希函数计算数据存储insert(key, value) 插入键值对get(key) 获取值delete(key) 删除值常见哈希函数除法哈希:h(k) = k % m乘法哈希:h(k) = floor(m*(A*key%1))全域哈希:ha,b(k) = ((a*key+b)mod p) mod m a,b=1,2,…p-1哈希表应用:集合与字典字典与集合...原创 2018-11-28 00:07:30 · 1368 阅读 · 0 评论 -
基于python的 树型数据结构,二叉树使用与AVL树使用
树由n个节点组成的集合,可以递归定义数据结构,如果n=0就是空树如果n>那么有树概念根节点、叶子节点树的深度(高度)树的度孩子节点、父节点子树二叉树-遍历# 树型图示意 E A G C F B D前序遍历:EACBDGF中序遍历:ABCDEGF后...原创 2018-11-28 00:09:01 · 350 阅读 · 0 评论