![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Johnny玛索
这个作者很懒,什么都没留下…
展开
-
java-数组中有多少小于当前数字的数字
题目描述给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。示例方法一代码:package haxibiao;import java.lang.reflect.Array;import java.util.Arrays;import java.util.HashMap;import java.ut原创 2020-09-21 11:29:46 · 1289 阅读 · 0 评论 -
java数据结构--有序数组的平方排序
题目描述给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。代码说明package hlzcc.demo;//力扣997 有序数组的平方class Soution{ public void sortedSquares(int[] A){ int N = A.length; // 数组的长度说明 int j = 0; //首先定义指针j的位置 //找出正数和负数的分界位置原创 2020-09-16 16:51:19 · 456 阅读 · 0 评论 -
java 数据结构--堆
1.堆的基本定义二叉树的两种结构,一种是链式结构,一种就是顺序结构,普通二叉树其实是不适合用数组来存储数据,因为会造成大量空间的浪费,但完全二叉树似乎更合适于顺序结构存储,我们通常把堆(完全二叉树) 使用顺序数组来存储。堆:(1)堆就是将一个集合的数据按照完全二叉树的顺序结构存储在一个一维数组中,堆在逻辑上是一棵完全二叉树,在物理结构上是一个一维数组.(2)堆也被称为优先队列。队列中允许的操作是先进先出(FIFO),在队尾插入元素,在队头元素。堆遵循同样的原理,在堆顶取出元素,但是堆中元素的排列,不原创 2020-09-16 08:56:20 · 1438 阅读 · 0 评论 -
java-- 链表的创建和应用
链表的创方法class ListNode{ int val; //数值 data ListNode next; // 结点 node ListNode(int x){ //可以定义一个有参构造方法,也可以定义一个无参构造方法 val = x; } // 添加新的结点 public void add(int newval) { ListNode newNode = new ListNode(newval); i原创 2020-09-14 10:07:34 · 502 阅读 · 0 评论 -
java 哈希表与HashMap
哈希表的概念\qquad一种新的存储方式 — 散列技术。\qquad散列技术是指在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使每一个关键字都对应一个存储位置。即:存储位置=f(关键字)。这样,在查找的过程中,只需要通过这个对应关系f 找到给定值key的映射f(key)。只要集合中存在关键字和key相等的记录,则必在存储位置 f(key)处。我们把这种对应关系f 称为散列函数或哈希函数。\qquad采用散列技术将记录存储在一块连续的存储空间中,这块连续的存储空间称为哈希表。所得的存储地址称原创 2020-09-11 16:53:08 · 296 阅读 · 0 评论 -
java数据结构---队列(Queue)总结
队列的基本概念\qquad队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,在表的后端进行插入操作,与栈一样,队列是一种操作受限制的线性表。\qquad进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素,称为空队列。队列分类:按照实现方式:(1)单向队列(Queue):只能在一端插入数据,在另一端删除数据。(2)双向队列(Deque):每一端都可以进行插入数据和删除数据操作。(3)优先级队列:优先级队列是比栈和队列更专用的数据结构,在优先级队列中原创 2020-09-09 14:21:37 · 3808 阅读 · 0 评论 -
java数据结构 栈的概念及其应用
栈的定义 栈是一种先进后出的线性存储结构,先进先出就是队列结构。 栈(stack)是限制插入和删除只能在一个位置上进行的线性表,该位置是表的末端,叫作栈的顶(top)。对栈的基本操作有 push(进栈)和 pop(出栈),前者相当于插入,后者则是删除最后插入的元素。栈的基础语法结构:Stack st = new Stack(); st . 栈的方法1.1 栈的主要特性 (1)栈中的数据元素遵守”先进后出”(First In Last Out)的原则,简称 FILO 结构原创 2020-09-08 15:14:55 · 267 阅读 · 0 评论 -
求解两个数组的交集的方法
这里写自定义目录标题求解两个数组的交集的方法样题描述方法说明操作流程java代码思路总结求解两个数组的交集的方法样题描述方法说明由于同一个数字在两个数组中都可能出现多次,因此需要用哈希表存储每个数字出现的次数。对于一个数字,其在交集中出现的次数等于该数字在两个数组中出现次数的最小值。操作流程首先遍历第一个数组,并在哈希表中记录第一个数组中的每个数字以及对应出现的次数,然后遍历第二个数组,对于第二个数组中的每个数字,如果在哈希表中存在这个数字,则将该数字添加到答案,并减少哈希表中该数字出现的次数原创 2020-08-25 15:28:54 · 3066 阅读 · 0 评论