数据结构
LP_bin
人生如棋,吾愿为卒.
展开
-
数据结构: 一、数据结构概述
目前,对数据结构的定义还没有得到真正的统一认同,我就先引用书本里的内容了:数据结构是相互之间存在的一种或多种特定关系的集合。可以说数据结构就是带着“结构”的数据元素的集合,这个“结构”就是数据元素之间的关系。 数据结构包括存储结构和逻辑结构两个层次。(图片转载于https://blog.csdn.net/balingybj/article/details/48293929) 1...原创 2018-04-07 15:10:32 · 7521 阅读 · 4 评论 -
Java中HashMap底层为什么是数组链表?
之前面试时问了HashMap的底层结构,详细见本人个人对HashMap和Hashtable底层实现的见解,入口如下:Java中HashMap与HashTable底层的联系与区别之后被问到HashMap底层为什么是数组链表呢?这样的话,链表一长,在链表中查询的效率不是很低吗?我:(哑了)最近看到一个比较有依据的答案,在此做一下答复。HashMap底层为什么是数组链表呢?在链表中查询的效率不...原创 2019-03-21 11:50:55 · 11178 阅读 · 20 评论 -
【LeetCode】3. 无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3示例 2:输入: “bbbbb”输出: 1示例 3:输入: “pwwkew”输出: 3解法(暴力解法复杂度O(n3)的就不说了)-_-1、使用HashSet进行时间复杂度:O(n)(ps:最坏情况O(2n))class Solution { pub...原创 2019-03-11 21:27:58 · 149 阅读 · 0 评论 -
Java中HashMap与HashTable的联系与区别
Java中HashMap与HashTable的联系与区别HashMap与HashTable的联系都实现了Map接口,保存了Key-Value(键值对)两者的数据结构类似。HashMap和HashTable都是由数组元素为链表头节点的数组组成。HashMap与Hash Table的区别两者继承的父类不同;HashMap继承AbstractMap类,而HashTable继承Dic...原创 2019-03-10 22:03:25 · 3599 阅读 · 3 评论 -
【LeetCode】230. 二叉搜索树中第K小的元素(Java)
1、题目描述:Given a binary search tree, write a function kthSmallest to find the kth smallest element in it.给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 Note: You may assume k is always valid, 1 ...原创 2019-02-12 23:54:32 · 529 阅读 · 0 评论 -
【LeetCode】654. 最大二叉树(Java)
题目:Given an integer array with no duplicates. A maximum tree building on this array is defined as follow:The root is the maximum number in the array. The left subtree is the maximum tree construc...原创 2019-02-18 00:19:58 · 348 阅读 · 0 评论 -
排序二叉树的初始化创建、先序遍历、中序遍历、后序遍历和层次遍历实现(Java)
结点Node类信息如下:public class Node { public int data; public Node left; //左右子结点 public Node right; public Node(int data){ this.data = data; this.left = null; this.right = null; }} Java源代...原创 2019-01-17 00:13:39 · 498 阅读 · 0 评论 -
【LeetCode】数组排序及冒泡排序算法优化 (Java)
题目给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。 一般冒泡排序算法实现:/*** 冒泡排序一般算法* 时间复杂度:O(n*n)*/public int[] bubsort(int[] arr) { for(int i = 0;i < arr.length;i++) { arr[i] = arr[i]*arr[...原创 2019-01-22 14:35:07 · 613 阅读 · 0 评论 -
【LeetCode】1.计算两数之和(Java)
题目内容:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:Input:nums = [2, 7, 11, 15], target = 9Output:[0, 1]实现算法:(一)、暴力解决:时间复杂度...原创 2019-01-18 21:37:30 · 669 阅读 · 1 评论 -
时间片调度算法进程调度实现(Java)
声明进程类progress:public class progress { int runtime; //进程运行时间 String name; //进程号码 int arrivaltime; //进程到达时间 String state = "No arrival"; //进程状态,默认未到达 int psfinishtime = -1; //进程完成时间,-1:未完成} (...原创 2019-01-18 16:20:01 · 2278 阅读 · 0 评论 -
优先级调度法处理机调度算法实现(C++)
假设系统有n个进程,每个进程用一个进程控制块(PCB)来代表。进程结点的数据元素有:进程号 进程到达时间进程状态 优先数 进程运行时间 进程运行时间C++实现模拟时间片轮转法进程调度源代码:#include <iostream>#include<string.h>using namespace std;#define num 50typede...原创 2019-01-17 15:04:32 · 4292 阅读 · 0 评论 -
神秘国度的爱情故事
某个太空神秘国度中有很多美丽的小村,从太空中可以想见,小村间有路相连,更精确一点说,任意两村之间有且仅有一条路径。小村 A 中有位年轻人爱上了自己村里的美丽姑娘。每天早晨,姑娘都会去小村 B 里的面包房工作,傍晚 6 点回到家。年轻人终于决定要向姑娘表白,他打算在小村 C 等着姑娘路过的时候把爱慕说出来。问题是,他不能确定小村 C 是否在小村 B 到小村 A 之间的路径上。你可以帮...原创 2018-07-21 09:21:43 · 1532 阅读 · 3 评论 -
排序算法——(1)冒泡排序、选择排序
排序算法 ——冒泡、选择(Java语言)一、冒泡排序 算法描述: 1、设待排序序列中的记录的数为n 2、一般地,第 i 趟起泡排序从1 到 n-i+1 3、依次比较相邻两个记录的关键字,如果发生逆序,则交换之。 4、其结果是这 n-i+1 个记录中,关键字最大...原创 2018-05-17 23:04:23 · 212 阅读 · 0 评论 -
数据结构:三、树结构概述
在此文,我们将总结下数据结构中树结构的主要知识点。1、树的定义 树(Tree)时n(n>=0)个结点的有限集,当n==0时称为空树,对于非空树: (1)、有且仅有一个根结点; (2)、除去根结点,其余结点可分为m(m>0)个互不相交的有限集,其中每个集合本身也是一棵树,称为根结点的子树(SubTree)。(个人认为有一个特例:只有一个根结点的树...原创 2018-04-18 21:55:55 · 2569 阅读 · 0 评论 -
数据结构:二、线性结构
线性结构的知识点占了数据结构内容的一大半差不多,足以看出线性结构地位的重要性。 线性结构包括线性表、栈和队列、字符串、数组、广义表。其中线性表是典型的、最基本、也是最常用的一种线性结构。一、线性表:由n(n>=0)个数据特性相同的元素构成的有限序列。其中n定义为线性表的长度,n=0时称为空表。 1、非空的线性表或者线性结构特点:(1)、存在唯一的一个被称为“第一个”的数据...原创 2018-04-11 00:06:56 · 3850 阅读 · 2 评论 -
Java中泛型和反射机制
泛型为什么要使用泛型Java中,ArrayList默认接受Object类型的对象,所以所有对象都可以放进ArrayList中所以get(0)返回的类型为Object,需要进行强制转换才能得到自己想要的数据类型如果你的记忆力足够好,记得之前它是什么类型的话但是开发人员总会犯错误的,有可能会将该对象转换为另外一个数据类型,难免出现类型转换异常使用泛型的好处:泛型的用法是在容器后面...原创 2019-03-31 16:03:19 · 524 阅读 · 0 评论