
数据结构
唐宋缘明卿_cris
这个作者很懒,什么都没留下…
展开
-
常见的几种搜索算法
目录广度优先搜索(BFS)深度优先搜索(DFS)爬山法(Hill Climbing)最佳优先算法(Best-first search strategy)回溯法 (Backtracking)分支限界算法(Branch-and-bound Search Algorithm)A*算法广度优先搜索(BFS)广度优先搜索算法(Breadth-First Search,BFS)是一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。原创 2020-06-10 17:54:13 · 9362 阅读 · 0 评论 -
Python 判断链表是否有环?
问题描述给定一个链表,如何判断该链表是否成环?解题思路首先,一听到这个问题,脑子一下子映出下面这幅链表成环的图:快慢指针为啥在有环的链表中为啥一定会相遇因为快慢指针的差距不管有多少 他们速度不同在环形结构上会逐渐缩小一步直到相遇代码实现class ListNode: def __init__(self, val): self.val = val self.next = None# 借助辅助空间# class Solution:#原创 2020-06-09 18:39:47 · 648 阅读 · 0 评论 -
redis五种数据结构的实现及使用场景
目录Redis对象底层数据结构字符串对象列表对象哈希对象集合对象有序集合对象Redis是一种key/value型数据库,其中,每个key和value都是使用对象表示的。类型对象名string字符串对象list列表对象hash哈希对象set集合对象zset有序集合对象但为了提高存储效率与程序执行效率,每种对象的底层数据结构实现都可能不止一种。encoding就表示了对象底层所使用的编码。下面先介绍每种底层数据结构的实现,再介绍每种对象类型都用了什原创 2020-06-09 18:13:38 · 757 阅读 · 0 评论 -
Python常见的数据类型的底层实现
目录一体式结构与分离式结构的区别:list的基本实现技术dict的实现技术常见的哈希碰撞解决方法Python数据类型之set数据类型决定数据在内存中所占用空间大小一体式结构与分离式结构的区别:如果增加元素超过了列表的最大存储量时,则需要新建一个数据区一体式结构若想更换数据区,则要整体更改分离式结构则只需要更改表信息区中的数据区链接地址即可,顺序表对象不变list的基本实现技术Python标准类型list就是一种元素个数可变的线性表,可以加入和删除元素,并在各种操作中维持已有元素的顺序(即保原创 2020-06-09 18:13:01 · 737 阅读 · 0 评论 -
可逆/不可逆加密&对称/非对称加密
目录1、加密种类:1.1、不可逆加密:【Hash加密算法/散列算法/摘要算法】1.2、可逆加密:可逆加密有对称加密和非对称加密。对称加密非对称加密2、一般保证数据传输的安全性措施:3、注意1、加密种类:1.1、不可逆加密:【Hash加密算法/散列算法/摘要算法】一旦加密就不能反向解密得到密码原文,一般用来加密用户密码,app的服务器端数据库里一般存储的也都是加密后的用户密码。在数据传输的过程中,首先把密码类数据经过MD5加密算法加密,然后再在外面使用可逆的加密方式加密一次,这样在数据传输的过程中,即原创 2020-06-01 18:40:01 · 2716 阅读 · 1 评论 -
数据结构——二叉树的python实现
二叉树的python实现一、二叉树的定义与基本性质二叉树的实现&遍历二叉树的实现二叉树的遍历一、二叉树的定义与基本性质二叉树(Binary Tree)是一种特殊的树型结构,它的特点是每个结点至多有两棵子树(即二叉树中不存在度大于2的结点),且二叉树的子树有左右之分,其次序不能任意颠倒(有序树)。 根据二叉树的定义,其具有下列重要性质:在二叉树的第i层上至多有2^{i-1}个结点(i≥1)。深度为k的二叉树至多2^k-1有个结点(k≥1)。对任何一棵二叉树,如果其叶子节点数为n0,度为原创 2020-05-31 16:58:16 · 1759 阅读 · 0 评论 -
数据结构——栈&队列的python实现
栈&队列的python实现栈的python实现队列的python实现栈的python实现• 栈(也称下压栈,堆栈)是仅允许在表尾进行插入和删除操作的线性表。• 栈是一种后进先出的线性表class Stack(object): def __init__(self): self.stack=[] def tianjia(self,item): self.stack.append(item) def tanchu(self): ifself.stack==[]:原创 2020-05-31 16:38:30 · 266 阅读 · 0 评论 -
数据结构——链表&双链表的python实现
链表的python实现单链表的实现双链表的实现单链表的实现#定义单链表节点类class Node(object): def __init__(self,value=None,next=None): self.value = value self.next = next#单链表结构类class LinkedList(object): def __init__(self): #初始化链表的头节点以及链表的长度 self.head原创 2020-05-31 16:32:52 · 310 阅读 · 0 评论