数据结构
hsw Come on
一个人至少拥有一个梦想,才会有理由去坚持
展开
-
python 列表(list)详解
1、python列表在CPython中,列表被实现为长度可变的数组。列表对象在 C 程序中的数据结构:有一个指针数组用来保存列表元素的指针,和一个可以在列表中放多少元素的标记。内存的槽的个数并不是当前列表就有这么多的元素,列表元素的个数和 len(列表)是一样,就是真正的元素的个数。但分配的槽的大小,会比元素个数大一点,目的就是为了防止在每次添加元素的时候都去调用分配内存的...原创 2020-03-27 11:29:58 · 587 阅读 · 0 评论 -
顺序表的原理
1、顺序表1,顺序表特点线性表的逻辑顺序与物理顺序一致,数据元素之间的关系是以元素在计算机内“物理位置相邻”来体现。对顺序表中的所有表项,即可以进行顺序的访问,也可以随机的访问,也就是说, 既可以从表的第一个表项开始逐个访问表项也可以按照表项的序号(下标)直接的访问。无需为表示结点间的逻辑关系而增加额外的存储空间,存储利用率提高。可以方便的存储表中的任一结点,存储速度快。 ...原创 2020-03-27 11:24:03 · 3187 阅读 · 0 评论 -
Btree/B+tree原理及区别(详解)
1,B-tree什么是B-treeB-tree是一种多路自平衡搜索树,它类似普通的二叉树,但是Btree允许每个节点有更多的子节点。Btree示意图如下:由上图可知 B-tree 的一些特点:1,所有键值分布在整个树中2,任何关键字出现且只出现在一个节点中3,搜索有可能在非叶子节点结束4,在关键字全集内做一次查找,性能逼近二分查找算法1、一棵m阶的B-Tree有如...原创 2020-03-27 11:04:42 · 9733 阅读 · 1 评论 -
树结构,二叉树,hash树
目录1,树的概念2,二叉树基本操作3,hash树1,树的概念1、树的特性1)一棵树中的任意两个结点有且仅有唯一的一条路径连通;2)一棵树如果有n个结点,则它一定有n−1条边;3)在一棵树中加一条边将会构成一个回路。2、二叉树1)二叉树是一种特殊的树,二叉树的特点是每个结点最多有两个儿子。2)二叉树使用范围最广,一颗多叉树也可以转化为二叉树。3、满二叉树1...原创 2020-03-26 15:34:48 · 1752 阅读 · 0 评论 -
python常见的设计模式(详解)
目录1,单例模式(只能创建一个对象)2,简单工厂模式3,工厂方法模式4,抽象工厂模式(解决多类产品)1,单例模式(只能创建一个对象)1、单例模式介绍内容:保证一个类只有一个实例,并提供一个访问他的全局访问点使用场景:当类只能有一个实例而且客户可以从一个总所周知的访问点访问他例: 比如Test是一个类,你创建两个对象a=Test(), b=Test()在单例模式下a,b两...原创 2020-03-26 15:05:00 · 1636 阅读 · 0 评论 -
数据结构中的概念,栈(stack),队列,链表,数组(详解)
目录1,数据结构中的一些概念2,栈(stack)3,队列4,链表5,数组1,数据结构中的一些概念1、数据结构是什么1、简单来说,数据结果就是设计数据以何种方式存储在计算机中2、比如:列表,集合,与字典等都是一种数据结构3、程序 = 数据结构 + 算法2、数据结构与数据类型1)数据类型:说明:数据类型是一个值的集合和定义在此集合上一组操作(通常是增删改查或者操作...原创 2020-03-26 14:50:02 · 957 阅读 · 0 评论 -
python中字典对象实现原理详解
目录:1. python字典及其特性2. Python函数 hash()3.哈希表4. Python字典如何运用哈希表5. 为啥字典比列表查找高效6.解决哈希冲突–开放寻址法 / 拉链法1. python字典及其特性字典是Python的一种可变、无序容器数据结构,它的元素以键值对的形式存在,键值唯一,它的特点搜索速度很快:数据量增加10000倍,搜索时间增加不到2倍;当数据...原创 2020-03-22 18:19:54 · 1574 阅读 · 3 评论