数据结构
-Coche-
这个作者很懒,什么都没留下…
展开
-
哈希表的知识总结
哈希表1.特点: 内部数据结构是数组 关键字经过变换(Hash函数)得到int类型的值 int类型的值变成一个合法的数组下标 把关键字放入数组的该下标位置 2.当向该结构中: 插入元素 根据待插入元素的关键码,以此函数计算出该元素的存储位置并按此位置进行存放 搜索元素 对元素的关键码进行同样的计算,把求得的函数值当做元素的存储...原创 2020-04-13 16:53:07 · 677 阅读 · 0 评论 -
搜索树的总结及其查找、插入操作详解与代码--Java
搜索树1.搜索的两种模型: 纯Key模型:即我们 Set 要解决的事情,只需要判断关键字在不在集合中即可,没有关联的 value; Key-Value模型:即我们 Map 要解决的事情,需要根据指定 Key 找到关联的 Value。 2.搜索的结构 搜索树 哈希表 跳表(了解) Java中: Map Set 搜索树:...原创 2020-04-08 16:40:01 · 190 阅读 · 0 评论 -
用队列实现二叉树的层序遍历(广度优先遍历)---Java实现
用队列实现 二叉树的层序遍历(广度优先遍历)—Java实现思想及代码如下: //层序遍历 public void levelOrderTraversal(Node root){ //若根节点为空则返回 if(root == null){ return; } //根节点不为空则如下分析: ...原创 2020-03-31 11:14:39 · 782 阅读 · 2 评论 -
leetcode:相同的树(判断两个二叉树是否相同)
leetcode:相同的树(判断两个二叉树是否相同)描述:给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * ...原创 2020-03-29 23:51:45 · 649 阅读 · 0 评论 -
二叉树的前序遍历、中序遍历、后序遍历--Java、力扣
二叉树的前序遍历、中序遍历、后序遍历–Java前序遍历代码如下:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; }...原创 2020-03-29 23:07:21 · 128 阅读 · 0 评论 -
leetcode最小栈问题
最小栈:解析见代码:import java.util.ArrayList;/** * Create with Darcula IDEA * Description: * 最小栈 */public class MinStack { private ArrayList<Integer> normal;//辅助栈 private ArrayList<I...原创 2020-03-29 00:49:23 · 108 阅读 · 0 评论 -
有效的括号--括号匹配问题--Java
有效的括号–括号匹配问题–Java代码如下:—解析在代码里import java.util.ArrayList;/** * Create with Darcula IDEA * Description: * 括号匹配问题 */public class Solution { public boolean isValid(String s) { //1.创建一...原创 2020-03-28 14:54:08 · 196 阅读 · 0 评论 -
用栈实现队列---Java
用栈实现队列—Java:使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。解析:使用两个栈实现队列,一个作为专门的入队列,一个作为出队列。import java.util.ArrayList;/** * Create with Darcula I...原创 2020-03-26 19:55:08 · 387 阅读 · 0 评论 -
Java 用队列实现栈---Java
用队列实现栈:–Java使用队列实现栈的下列操作:push(x) – 元素 x 入栈pop() – 移除栈顶元素top() – 获取栈顶元素empty() – 返回栈是否为空import java.util.LinkedList;/** * Create with Darcula IDEA * Description: * 用队列实现栈 */public class MyS...原创 2020-03-26 19:50:50 · 309 阅读 · 0 评论 -
Java---栈和队列最基本操作:插入数据(入栈)、删除数据(出栈)、查看栈顶元素、返回栈内元素个数;将元素推入队尾(尾插)、删除队头元素(头删)、查看队头、队尾元素
Java—栈和队列最基本操作:插入数据(入栈)、删除数据(出栈)、查看栈顶元素、返回栈内元素个数;将元素推入队尾(尾插)、删除队头元素(头删)、查看队头、队尾元素栈基本操作:import java.util.Arrays;public class Stack { private int[] array; private int top;//指向当前栈顶元素的下标 ...原创 2020-03-26 00:25:57 · 3039 阅读 · 0 评论 -
面试题:杨辉三角--Java
面试题:杨辉三角描述:传一个数字numRows(行数),输出杨辉三角前numRows行的数字。代码如下:public class PascalsTriangle { public static List<List<Integer>> generate(int numRows){ //1.创建list List<List&l...原创 2020-03-25 21:47:25 · 224 阅读 · 0 评论 -
面试题----合并两个有序链表---Java
面试题----合并两个有序链表:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思想:递归代码如下:class Solution { public ListNode mergeTwoLists(...原创 2020-03-19 21:38:51 · 188 阅读 · 0 评论 -
输入一个链表,输出该链表中倒数第k个结点--java实现
输入一个链表,输出该链表中倒数第k个结点/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode FindKthToT...原创 2020-03-19 20:11:51 · 144 阅读 · 0 评论 -
删除链表中等于给定值 val 的所有节点
删除链表中等于给定值 val 的所有节点public class Solution { public static Node removeElements(Node head,int val){ //如果删除的是头结点要单独考虑 while(head != null && head.val == val){ head...原创 2020-03-19 19:38:54 · 172 阅读 · 0 评论 -
逆置链表(反转链表)---Java
逆置链表(反转链表):定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL限制:0 <= 节点个数 <= 5000/** * Definition for singly-linked list....原创 2020-03-19 19:36:04 · 120 阅读 · 0 评论 -
力扣链表面试题---给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点
力扣链表面试题:描述:给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。解题思路:使用快慢指针的办法,快指针一次跳两个结点,慢指针跳一个结点。则快指针走完全程刚好慢指针走一半。/** * Definition for singly-linked list. * public class ListNode { * in...原创 2020-03-19 18:52:59 · 509 阅读 · 0 评论 -
链表的概念以及基本操作:头插、尾插、头删、尾删
链表1.链表的概念:链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的 。(逻辑上有前后关系,物理上不保证前后关系)2**.链表的基本操作:**头插、尾插、头删、尾删class Node { int val ; Node next ; public Node(int val){ this.val = val; ...原创 2020-03-18 21:38:33 · 231 阅读 · 0 评论 -
顺序表---概念及结构、顺序表的各种操作:尾插、头插、插入指定位置、尾删、头删、删除指定位置、查找元素、下标与修改元素
顺序表的各种操作:顺序表的各种操作----尾插、头插、插入指定位置、尾删、头删、删除指定位置、查找元素、下标与修改元素package 顺序表;/** * Create with Darcula IDEA * Description: * * @Author CJP */public class MyArrayList { private int[] array; ...原创 2020-03-18 19:29:47 · 666 阅读 · 0 评论