数据结构
飞奔的六六
这个作者很懒,什么都没留下…
展开
-
HashMap和ConcurrentHashMap比较
HashMap的数据结构是一个数组加链表的形式,即数组中的每个元素都是链表。链表的每个节点都是一个键值对Entry(key,value)。1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困转载 2017-10-23 21:05:05 · 1275 阅读 · 0 评论 -
数据结构—B树、B+树
B树、B+树一般用于数据库索引以及用于MongoDB。在大型系统中数据库中的索引量通常都有好几G,如果使用二叉查找树太过于吃内存。 从算法的角度来讲,二叉查找树的算法复杂度可能会更低,但由于需要将索引加载到内存上进行操作,如果是普通的BST则会因为频繁的IO操作而损耗大量的性能。 相比于BST的“瘦高”结构,B、B+树更像是一个矮胖子。它们允许一个根节点下有多个子节点,而且每个子节点中可以包含多原创 2017-10-23 21:16:28 · 1309 阅读 · 0 评论 -
线性表--顺序表
顺序表的基本操作和常见算法(Definition Only)#include <stdio.h>#define MAXSIZE 50#define INIT_SIZE 10/** * Author: art1st-d * Date: 2018/08/09 */typedef int ElemType;// 静态分配// typedef struct {...原创 2018-08-09 07:03:17 · 261 阅读 · 0 评论 -
线性表--链表
链表的基本操作和常见算法(Definition Only)#include <stdio.h>/** * Author: art1st-d * Date: 2018/08/09 */typedef int ElemType;//单链表typedef struct LNode { ElemType data; struct LNode *next;}L...原创 2018-08-09 08:09:19 · 274 阅读 · 0 评论 -
数据结构——树、树的遍历
二叉树、二叉排序树、线索树、树的遍历实现/* * 二叉树 */typedef struct BiTNode{ ElemType data; struct BiTNode *lchild, *rchild;}BiTNode, *BiTree;// 递归先序遍历void PreOrder(BiTree T) { if(T!=NULL) { visit(T); PreO...原创 2018-10-18 08:28:50 · 485 阅读 · 0 评论 -
如何使用双栈找出最小值?
思路:一个栈为数据栈dataStack,另一个栈为最小值栈minStack。dataStack入栈时,若为空,则同时入栈minStack;若不为空,则与minStack栈顶元素比较,若比栈顶元素小则同时如minStack;dataStack出栈时,若元素与minStack栈顶元素相同时minStack出栈,否则不处理。...原创 2019-03-17 11:41:18 · 286 阅读 · 0 评论