数据结构基于python
JamePrin
这个作者很懒,什么都没留下…
展开
-
基于python的数据结构之【哈希表ADT】
在python中的 dict 和 set 查找速度很快,内部就是散列表(也叫作哈希表)数组通过下标访问,时间O(1),删除要O(n)链表遍历访问,时间O(n)哈希表就是一种快速定位和删除元素的方法。除了利用元素下标找到,还有一种就是找到【逻辑下标】,再找到这个元素。他通过哈希函数计算一个元素应该放在哪个位置,然后对于一个特定的元素,哈希函数每次计算的下标要一样,而且范围不能超过给定的数组长度举例:有一个数组T,包含M=13个元素,定义一个哈希函数hh(key) = ke原创 2021-06-10 17:28:25 · 398 阅读 · 0 评论 -
基于python的数据结构之【栈】
栈(LIFO结构){datamethod{pushpopis_empty\begin{cases}data\\method\begin{cases}push\\pop\\is\_empty\end{cases}\end{cases}⎩⎪⎪⎪⎨⎪⎪⎪⎧datamethod⎩⎪⎨⎪⎧pushpopis_empty# -*- coding:utf-8 -*-# Author: Greed_Vic(PL Z)# Product_name: PyCharm# File_name:原创 2021-06-09 15:16:37 · 184 阅读 · 2 评论 -
基于python的数据结构之【双端队列】
python里边有的append,appendleft,clear,count,extend,extendleft,pop,popleft,remove…最基础有:[append, appendleft, pop, popleft] 希望是O(1)的时间复杂度而在过去的内容中有循环双端队列是可以实现的,在这里就将其继承,然后实现以上功能就好了。都比较简单。# -*- coding:utf-8 -*-# Author: Greed_Vic(PL Z)# Product_name:原创 2021-06-09 15:16:26 · 206 阅读 · 2 评论 -
基于python的数据结构之【数组Queue】
思路:需要队头队尾指针push操作:每次push, head + 1pop操作:pop队尾,tail + 1确保len(Queue) <= array_size到头之后取模返回就行这一点十分重要,这是能够无限进行pop和push的关键计算方法。不管# -*- coding:utf-8 -*-# Author: Greed_Vic(PL Z)# Product_name: PyCharm# File_name: arrayQ # @原创 2021-06-08 22:13:13 · 237 阅读 · 0 评论 -
基于python的数据结构 之 【对列(FIFO结构)】
# -*- coding:utf-8 -*-# Author: Greed_Vic(PL Z)# Product_name: PyCharm# File_name: Queue # @Time: 23:10 2021/6/6from linked_list import * # 利用链表进行队列数据结构 在上一篇博客哦!class Queue(object): def __init__(self, maxsize=None):原创 2021-06-06 23:40:33 · 116 阅读 · 1 评论 -
基于python的数据结构 之 【单链表】
# -*- coding:utf-8 -*-# Author: Greed_Vic(PL Z)# Product_name: PyCharm# File_name: linked list # @Time: 21:58 2021/5/17""" 1、 {root、length 2、 {init、append、appendleft、iter_node、remove、find、popleft、clear"""class Node(obje原创 2021-06-06 23:28:43 · 205 阅读 · 0 评论 -
基于python的数据结构 之 【双向循环链表】
单链表缺点:remove 时间O(n)单向遍历双链表:有pre结点和next结点循环双端链表:属性:data : root、maxsize、lengthmethod:headnode、tailnode、append、appendleft、remove (这个变为O(1)的时间复杂度)、iter_node、iter_node_reverse# -*- coding:utf-8 -*-# Author: Greed_Vic(PL Z)# Product_n原创 2021-06-06 16:35:10 · 97 阅读 · 0 评论