
JAVA数据结构
文章平均质量分 85
JAVA数据结构
少年请慢走
无他,唯手熟尔
展开
-
算法笔记-平衡二叉树与B树(3)
11111111111原创 2019-11-12 16:37:14 · 192 阅读 · 0 评论 -
算法笔记-二叉树(2)
1.顺序存储二叉树:2.代码实现://编写一个ArrayBinaryTree, 实现顺序存储二叉树遍历class ArrBinaryTree{ private int[] arr; //存储数据结点的数组 ArrBinaryTree(int[] arr) { this.arr = arr; } public void pre...原创 2019-10-11 10:09:26 · 127 阅读 · 0 评论 -
算法笔记-二叉树(1)
1、基本概念:1)树有很多种,每个节点最多只能有两个子节点的一种形式称为二叉树。2)二叉树的子节点分为左节点和右节点3)如果该二叉树的所有叶子节点都在最后一层,并且结点总数= 2^n -1 , n 为层数,则我们称为满二叉树。4)如果该二叉树的所有叶子节点都在最后一层或者倒数第二层,而且最后一层的叶子节点在左边连续,倒数第二层的叶子节点在右边连续,我们称为完全二叉树。...原创 2019-10-11 07:49:48 · 503 阅读 · 0 评论 -
算法笔记-哈希表(散列)
1、基本概念:散列表(Hash Table,又叫哈希表),是根据关键码值(Key Value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。2、散列表思想:(1)使用散列函数将给定键转化为一个“数组的索引”,理想情况下,不同的key会被转化为不同的索引,但是在实际情况中,我们会...原创 2019-09-16 15:50:06 · 218 阅读 · 0 评论 -
算法笔记-查找算法
在 java 中,我们常用的查找有四种:1) 顺序(线性)查找 (就是for循环遍历)2) 二分查找/折半查找 (重要找mid)3) 插值查找4) 斐波那契查找1.二分查找:(必须有序)package com.nmys.story.search;import java.util.ArrayList;import java.util.List;/** * @Aut...原创 2019-09-16 13:49:02 · 284 阅读 · 0 评论 -
算法笔记-排序算法(冒泡 选择 插入)
首先罗列一下常见的十大排序算法:一.冒泡排序1.定义:冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐逐渐向上冒。 ...原创 2019-08-20 22:44:37 · 242 阅读 · 0 评论 -
算法笔记-栈
一.什么是栈1) 栈的英文为(stack)2) 栈是一个先入后出(FILO-First In Last Out)的有序列表。3) 栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。4) 根据栈的定义可...原创 2019-08-11 10:17:09 · 175 阅读 · 0 评论 -
算法笔记-双向链表与环形链表
1.双向链表的操作分析和实现管理单向链表的缺点分析:1) 单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找。2) 单向链表不能自我删除,需要靠辅助节点 ,而双向链表,则可以自我删除,所以前面我们单链表删除时节点,总是找到 temp,temp 是待删除节点的前一个节点(认真体会).3) 分析了双向链表如何完成遍历,添加,修改和删除的思路对上图的说明:...原创 2019-08-10 17:05:22 · 341 阅读 · 0 评论 -
算法笔记-递归
一.什么是递归(recursive) 回溯1.简单的说: 递归就是方法自己调用自己,每次调用时传入不同的变量.递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。去的过程叫递,回来的过程叫归.递归本身就是借助栈来实现的2.图解方式说明了递归的调用机制:3.递归需要遵守的重要规则(这个很重要这个搞不清楚递归调用几次就蒙了)1) 执行一个方法时...原创 2019-08-18 22:11:43 · 278 阅读 · 0 评论 -
算法笔记-链表
链表是有序的列表,但是它在内存中是存储如下(你中有我,我中有你,铁索连环)1)链表的各个节点不一定是连续存储.2)链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定单链表(带头结点) 逻辑结构示意图如下:3)实现代码:public class LinkListDemo {//节点类public class Node { protecte...原创 2019-08-05 22:29:20 · 148 阅读 · 0 评论 -
算法笔记-队列
http://www.getmoon.cn/1)队列是一个有序列表,可以用数组或链表来实现.2)遵循先入先出原则.即:先存入队列的数据,要先取出来.后存入后取.(类比火车进隧道)3)队列的插入操作称为入队(push),删除操作称为出队(pop)。4)示意图:(使用数组模拟队列示意图)5)由于普通队列会产生“假溢出”现象,所以我们采用环形队列来解决这个问题示意图:(图...原创 2019-08-05 21:32:39 · 135 阅读 · 0 评论 -
数据结构--基本概念
程序=算法+数据结构,而算法=逻辑+控制一、概念1、数据(data) 1>2>3>4所有能够被计算机识别的符号集合。2、数据对象(Data Object)数据对象是具有相同性质的数据元素的集合,是数据的一个子集。3. 数据元素(Data Element) :① 是数据(集合)中的一个“个体”② 是数据结构中讨论的基本单位4.数据项(Da...原创 2018-08-10 09:35:07 · 385 阅读 · 0 评论