python
我只要一发
for(i :=1;i > 0;i++){我真的帅}
展开
-
数据结构与算法 python实现arroy
数据结构与算法原创 2019-08-30 11:07:03 · 174 阅读 · 0 评论 -
数据结构与算法 python实现 线性查找,二分查找
线性查找:从头找到尾,找到我们想要的就把他返回二分查找:取到一个数组的中间值,如果要查的数据比中间值大,下标+1,否则下标-1#二分查找def binary_search(sorked_array,val): if not sorked_array: return -1 beg = 0 end = len(sorked_array) -1 w...原创 2019-09-13 09:32:46 · 208 阅读 · 0 评论 -
数据结构与算法 Python实现 冒泡排序 选择排序 插入排序
冒泡排序def bubbleSort(arr): n = len(arr) # 遍历所有数组元素 for i in range(n): # Last i elements are already in place for j in range(0, n-i-1): if arr[j] > arr[j...原创 2019-09-13 09:40:54 · 188 阅读 · 0 评论 -
数据结构与算法 python实现 高级排序算法
分治法与归并排序归并是分治法比较经典的应用分治法的三步骤分解原问题成若干子问题,这些子问题是原问题最小的实例解决这些子问题,递归的求解子问题,档子问题的规模足够小可以直接求解合并这些子问题的解,成源问题的解归并排序法,三步:分解,解决,合并时间复杂度T(n)#归并排序def merge_sort(seq): #判断数组的长度是不是还可以再分 if len(se...原创 2019-09-13 09:57:39 · 214 阅读 · 0 评论 -
数据结构与算法 Python实现 快速排序
快速排序分为三步选择基准值,pirot将数组分为两个字数组,小于基准值的元素和大语句准直的元素,这个过程称之为prtition对这两个数组进行排序合并结果def quicksort(array): #当排序的数组小于2就不排序 if len(array) < 2: return array else: #定一下标 ...原创 2019-09-13 10:37:19 · 139 阅读 · 0 评论 -
数据结构与算法,Python实现 树与二叉树
二叉树根节点(root)是最上层节点路径(path)从起始节点到终止节点经历的边父亲(parent)除了根节点,每一个上层的节点,就是他的父亲节点孩子(children)每个节点由边指向的下层节点兄弟(siblings)同一个父亲并且处在同一个节点子树(subtree)每个节点包含他所有的后代组成的子树叶子节点(leaf node)没有孩子的节点成为子节点...原创 2019-09-13 11:02:59 · 306 阅读 · 0 评论 -
数据结构与算法 Python实现 堆和堆排序
什么是堆堆是一种完全二叉树最大堆:对于每个非叶子节点,都比他的两个孩子大,称为最大堆最大堆特性,最大堆里的根节点往往是最大值最小堆:和最大堆相反,每个非叶子节点,两个孩子都比他大堆的表示:用二叉树表示#实现一个定长的数组arroyclass Array(object): #初始化 def __init__(self,size = 32): # ...原创 2019-09-13 14:11:21 · 187 阅读 · 0 评论 -
数据结构与算法 python实现 优先级对列
根据最大堆的特性我们给每条数据一个优先级,优先级大的,就会在上层,小的就会在下层,然后我们先根序遍历#实现一个定长的数组arroyclass Array(object): #初始化 def __init__(self,size = 32): # self._size = size #长度为size,value全为None的列表...原创 2019-09-13 14:57:56 · 133 阅读 · 0 评论 -
数据结构与算法 Python实现 二叉查找树
二叉树的特点,左孩子大于父亲,右节点小于父亲#二叉树的表示#节点class BSTNode(object): def __init__(self,key, value,right = None,left = None): self.key, self.value,self.right,self.left = key, value , right , leftcla...原创 2019-09-13 15:02:44 · 201 阅读 · 0 评论 -
数据结构与算法 python实现 递归
递归三个最基本的条件递归包含基本的出口,否则它就是无限递归,最终导致栈溢出,递归必须包含一个可以分解的问题递归必须要向递归出口靠近...原创 2019-09-13 09:11:41 · 176 阅读 · 0 评论 -
数据结构与算法 Python实现 set
class Array(object): def __init__(self,size=32,inits=None): self._size = size self._items = inits* size def __getitem__(self,index): return self._items[index] def ...原创 2019-09-13 09:04:09 · 140 阅读 · 0 评论 -
数据结构与算法 Python实现 字典
class Array(object): def __init__(self,size=32,inits=None): self._size = size self._items = inits* size def __getitem__(self,index): return self._items[index] def ...原创 2019-09-13 09:01:20 · 155 阅读 · 0 评论 -
数据结构与算法 python实现链式结构,单链表
数据结构与算法二,链式结构特点:内存不连续 下标无法访问 append容易 遍历难(必须从左边开始遍历,一个一个的遍历)1.单链表:有一个root节点,是链表的入口,单链表有两个值分别为value,next , next用于指向下一个节点数据属性:root,length方法:init,append,appendleft,iter_node,remover,find,popleft,cle...原创 2019-09-01 21:08:49 · 438 阅读 · 0 评论 -
数据结构与算法 python实现 双端链表
数据结构与算法双端链表有三个值:value prev next数据属性:root maxsize lenght方法:headnode tailnode append appendlift remove itne_node iter_node_reverse实现一个DoubleLinedListclass Node(object): def __init__(self,valur = ...原创 2019-09-03 10:04:54 · 708 阅读 · 0 评论 -
数据结构与算法 python实现单链表实现对列
对列:先来的先走,后来的后走 FIFO实现FIFO的实现数据结构:arroy list linkedlist doubllinkedlist最基本的操作,push入列 pop出列单链表实现 append popleftclass FullError(Exception): passclass EmptyError(Exception): passclas...原创 2019-09-03 14:55:33 · 173 阅读 · 0 评论 -
数据结构与算法 python实现 array实现对列
数据结构与算法 python实现 array实现对列class FullError(Exception): pass#数组实现一个对列class ArroyQueue(object): #初始化 def __init__(self,maxsize): #最大长度 self.maxsize = maxsize #实例化一...原创 2019-09-03 14:59:17 · 203 阅读 · 0 评论 -
数据结构与算法 python实现 栈
栈的特点: 现金后出 LIFO和队列正好是相反的class Stack(object): def __init__(self): self._deque = EeQue() def push(self,value): return self._deque.push(value) def pop(self): retur...原创 2019-09-12 16:55:47 · 148 阅读 · 0 评论 -
数据结构与算法 时间空间复杂度
算法复杂度分析大O符号 在数学上称之为渐进上界法2nn = 2n方########n+nn = n+n方当n非常大的时候。n方的数值将成主导,我们可以忽略n常用的时间复杂度1: 常量时间 一次赋值2 log n: 对数时间 折半查找n: 线性时间 线性查找nlong n: 对数线性时间 快速排序n方: 平方 两重循环n三次方: 立方 三重循环2的n次方: 指数 递归球菲波...原创 2019-09-12 17:12:02 · 180 阅读 · 0 评论 -
数据结构预算法 python实现 hash表
哈希表为了快速的定位到某个元素,科学家给每个元素一个“逻辑下标”,然后直接找到元素,哈希表就是这种实现,他通过一个哈希函数来计算一个元素应该放在哪,当然对于特定的某个元素,哈希函数每次计算的下标必须一样才可以,而且范围不能超出给定数组的长度。假如我们有一个数组t 包含m=13个元素,我们可以定义一个简单的哈喜函数h(key) = key%m 这里取模函数使得h(key)的结果不会超出数组长度的...原创 2019-09-13 08:56:39 · 217 阅读 · 0 评论 -
数据结构与算法 Python实现 图
一个关系图,互相连接,通过邻居查找,浪费空间from collections import dequeclass Queue(object): def __init__(self): self._itme_linked_list = deque() def __len__(self): return len(self._itme_linke...原创 2019-09-13 15:04:35 · 226 阅读 · 1 评论