数据结构
陈汤姆
一只叫做汤姆的程序员
展开
-
二叉树、平衡二叉树、红黑树、B-Tree、B+Tree解析(下)
前言昨天写完了二叉树、平衡二叉树、红黑树的一部分,今天把剩余的B-Tree、以及B+Tree整理出来。1、B-Tree1.1定义:B-tree(多路搜索树,并不是二叉的)是一种常见的数据结构。使用B-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度 。 ----------百度百科与二叉树相比,B-Tree利用多个分支(二叉树只有2个分支)节点,减少了获取...原创 2020-04-05 15:44:56 · 256 阅读 · 0 评论 -
二叉树、平衡二叉树、红黑树、B-Tree、B+Tree解析(上)
前言前几天学习了ConcurrentHashMap的一些结构,了解了底层通过链表以及红黑树来实现的数据结构,所以在此基础上想要学习红黑树的一些知识。当然了既然要学习红黑树就要从二叉树、平衡二叉树进行学习,毕竟红黑树是在平衡二叉树的基础上进行变形。既然学习了红黑树那么也要同时学习B-Tree(B杠Tree,不是B减Tree)以及B+Tree。今天就把自己学习到的一些关于树的知识进行整理总结。...原创 2020-04-05 00:12:01 · 771 阅读 · 1 评论 -
数据结构(一)线性数据结构
数据结构分为:线性数据结构、非线性数据结构线性数据结构包括:数组、线性表、栈、队列、串非线性数据结构包括:多维数组、集合、树、Hash1、数组在Java中常用的数组util有String[],int[],ArrayList,Vector,在这些util中ArrayList是非线程安全的,Vector是线程安全的,方法同步,在ArrayList中封装了一些数组的基本操作。数据这种数据结构是...原创 2019-11-15 10:33:27 · 7230 阅读 · 0 评论 -
数据结构基础
List和Set比较,各自的子类比较Arraylist与LinkedList的比较1、ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高(在内存里是连着放的)。2、因为地址连续, ArrayList要移动数据,所以插入和删除操作效率比较低。3、LinkedList基于链表的数据结构,地址是任意的,所以在开辟内存空间的时候不需要等一个连续的...原创 2019-10-29 23:25:35 · 61 阅读 · 0 评论 -
数据结构-数组-找出数组中第一个不重复的数
找出数组中第一个不重复的数:思路循环取出数组中的每个数,依次与其它数做比较,找出第一个不重复的数。同时设定一个计数器,记录与数组中的数比较的次数,如果比较的次数与数组的长度相等则该数为不重复的数。代码如下:package com.example.base.entity;public class Test { public static void main(String a...原创 2019-07-25 12:02:21 · 792 阅读 · 0 评论 -
数据机构-数组-找出数组中第二小的值
思路:将数组通过冒泡排序进行从小到大排列,然后取出第二个数就是第二小的数。代码如下:package com.example.base.entity;public class Test { public static void main(String args[]){ //找数组中第二小的数 Integer[] integer = {2,3,5,...原创 2019-07-25 13:42:24 · 1979 阅读 · 0 评论 -
数据结构知识点理解及整理
数据结构知识点整理看数据结构相关知识时,对数据结构的一些知识以自己的想法做了一个整理。栈栈是只在一个位置上进行插入和删除的表,该位置在表的末端,叫做栈顶。栈是先入后出的,对栈的基本操作有入栈(push)和出栈(pop),前者相当于插入,后者相当于删除。队列队列是特殊的线性表,在该表中只允许在表的前端(font)执行删除操作,在表的的末端(rear)进行插入操作。链表链表是一种数...原创 2019-08-12 16:23:07 · 766 阅读 · 0 评论