数据结构与算法java版
一只小芒果o
简单生活,努力学习!
展开
-
数据结构与算法的概念
一 :基本概念1. 数据结构的基本概念:数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。 用通俗一点的语言来说就是研究数据元素之间特有的关系。2.算法的基本概念: 是解决一系列问题的清晰,完整的指令。可以类比于高中数学解题中的一个个详细的步骤。二: 数据结构的分类数据结构分为两类...原创 2019-09-16 23:40:46 · 538 阅读 · 0 评论 -
算法时间复杂度的计算
一 : 函数渐进的界如果存在常数N和c,对于任意的N≤n, 都满足f(n)≤cg(n),则称g(n)是f(n)的上界g(n),记作f(n)=O(g(n))(采用大O表示法)二: 算法的时间复杂度定义上诉定义中:求得的g(n)就是算法的时间复杂度。三: 算法的时间复杂度求解步骤 ⑴ 找出算法中的基本语句; 算法中执行次数最多的那条语句就是基本语句,通常是最内...原创 2019-09-17 14:08:44 · 653 阅读 · 0 评论 -
数据结构之数组
1.数组数组是数据结构中一种常用的数据结构,属于线性结构的一种,几乎所有的编程语言都内置原生的数组。2.数组的声明int Arr[] =new int [5] int [] Arr=new int [5] int [] Arr={1,2,3,4,5}3.数组的类型在使用数组的时候,要记住数组是引用数据类型。在数组使用之前一定要在内存中开辟一段空间使得数组的引用指向开辟...原创 2019-09-18 22:11:38 · 395 阅读 · 0 评论 -
数据结构之栈
目录一.内存中的堆栈和数据结构的堆栈 内存空间在逻辑上划分用三部分:代码区 静态数据区 动态数据区二.栈的基本操作三.关于栈的一些常见问题一.内存中的堆栈和数据结构的堆栈数据结构中堆栈与内存中的堆栈是完全不同的两个概念。内存当中的堆栈是真实存在的物理区域,而数据结构中的堆栈是人为抽象出来的一种逻辑存储结构。内存中的堆栈内...原创 2019-09-19 20:02:18 · 208 阅读 · 0 评论 -
数据结构之队列
目录一:什么是队列(Queue)二:假溢出三:循环队列的基本操作四:队列的应用问题一:什么是队列(Queue)如同栈一样,队列也是一种线性的逻辑结构。它在表的一端进行插入元素,叫做队尾(tear);在表的一端进行删除元素,叫做队首(front)。队列就像售票口前的人们站成一队,第一个进入队列的人将最先买到票,最后排队的人最后才能买到票,所以它是一种先进先出的数据结构...原创 2019-09-19 22:54:23 · 714 阅读 · 0 评论 -
数据结构之链表
目录一:链表二:单链表三:单链表基本操作四:循环单链表五:有序链表六:双向链表七:双向循环链表八:双向循环链表基本操作九:链表中的一些常见问题一:链表 链表是一种在物理内存上不连续的存储结构。线性表有顺序表和链表,顺序表的优点是查找数据较快,而插入和删除数据较慢,相反链表的优点是插入和删除数据较快(因为不需要进行移动数据),查找数...原创 2019-09-21 19:34:39 · 369 阅读 · 0 评论 -
数据结构之B-树
首先:在讲B树之前先要明确一个信息,B-树叫B树,不是叫B减树,没有B减树这种数据结构。只有B+树(B加树)这种数据结构。一.二叉树二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树组成。图展示了一棵普通二叉树:二.二叉排序树二叉排序树(Binary Sort Tree)又称二叉查...原创 2019-10-07 22:14:32 · 443 阅读 · 0 评论 -
数据结构之B+树
B+树也是B树的一种,也是多叉树。相同点:根结点的至少有1个元素 每个结点元素数:m/2 <= k <= m-1 /** m是树的深度 **/不同点:B+树有三种结点:根结点 内部结点 叶子结点 内部结点存储索引,不存储数据。 叶子结点存储数据 内部结点中的key都按照从小到大的顺序排列,对于内部结点中的一个key,左树中的所有key都小于它,右子树...原创 2019-10-09 11:27:02 · 427 阅读 · 0 评论