Java
sinat_15355869
这个作者很懒,什么都没留下…
展开
-
Java 基础练习
https://github.com/yjfiejd/Java_basic_learning 留个爪~原创 2018-05-23 18:35:30 · 133 阅读 · 0 评论 -
java_basic_Stack_to_Queue
使用栈结构实现队列结构 【图示】 【代码】import java.util.Stack;// 怎么样用栈结构实现队列结构 -> 两个栈结构// push栈,pop栈,倒数据,满足2个行为原则:// push栈数据需要一次性全部倒入pop栈 + 当倒数据时候,pop栈不能含有数据。 public class Stack_to_Queue { priva...原创 2018-08-19 10:07:13 · 132 阅读 · 0 评论 -
java_basc_Queue_to_Stack
使用队列结构实现栈结构 【图示】 【代码】import java.util.LinkedList;import java.util.Queue;public class Queue_to_Stack { // 初始化成员变量 private Queue<Integer> queue; private Queue<Integer> he...原创 2018-08-19 10:08:44 · 145 阅读 · 0 评论 -
java_basic_构造方法
【构造方法】:https://baike.baidu.com/item/构造方法/10455265构造方法是一种特殊的方法,它是一个与类同名且返回值类型为同名类类型的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。 构造方法是一种特殊的成员方法,它的特殊性反映在如下几个方面:1.构造方法...原创 2018-08-16 22:46:48 · 137 阅读 · 0 评论 -
java_basic_copyListWithRand
// 【问题】复制含有随机指针节点的链表// 【问题描述】有一种特殊的链表节点类描述如下://public class Node{// public int value;// public Node next;// public Node rand;// public Node(int data) {// this.value = data;// }//}// Node ...原创 2018-08-22 11:18:56 · 111 阅读 · 0 评论 -
java_basic_Binary Tree Traversal
【维基百科】:https://en.wikipedia.org/wiki/Tree_traversalIn computer science, tree traversal (also known as tree search) is a form of graph traversal and refers to the process of visiting (checking and/or...原创 2018-08-27 01:05:42 · 140 阅读 · 0 评论 -
java_basic_ArrayStack_01 固定数组实现栈
【原理】:用固定数组大小实现,栈结构,先进后出,用构造方法初始化数组(数组大小 = initSize,index指针 = 0) 用方法实现,push, pop , peek 功能 push:(先判定是否越界,index==arr.length)新来的数字永远放入index指向位置,完成后index++ pop: (先判定是否越界失效,栈里没数时候,index == 0, 无法弹出),由...原创 2018-08-17 12:35:20 · 179 阅读 · 0 评论 -
java_basic_first_interect_node - (Hard)
学习来自左神github:https://github.com/yjfiejd/New_coder_java_algorithm/blob/master/Find_First_Intersect_Node%24Node.class【问题】:// [问题]单链表可能又环,也可能无环,给定2个单链表的表头,head1, head2, 这两个链表可能相交,也可能不相交,// 实...原创 2018-08-23 14:22:18 · 162 阅读 · 0 评论 -
java_Hashmap_3_function_O(1)
学习来自左神【要求:】// 设计一个结构,//3个功能//insert(key):将某个key加入到该结构,做到不重复,//delete(key):将原本在结构中的某个key去除//getRandom():等概率随机返回结构中的任何一个key//要求://3个功能时间复杂度为O(1), 不能遍历 【代码:】import java.util.Hash...原创 2018-08-31 19:24:10 · 219 阅读 · 0 评论 -
java_basic_MinStack_O(1)时间复杂度
【练习】:实现一个特殊的栈,实现栈的基本功能,再实现返回栈中的最小值【要求】:pop.push,getMin 操作时间复杂度为O(1) 【过程】:初始化2个栈,一个叫stackData,一个叫stakMin,push过程:stackData栈中,每次都装入新的num stackMin栈中,第一次数字与就是num,后面每次来了新的num数字,比较当前数与stackMin栈顶的...原创 2018-08-18 16:52:32 · 161 阅读 · 0 评论 -
java_basic_ArrayStack_02 固定数组实现队列
【原理】: 定义构造函数,初始化 注意push更新逻辑:每次size++, 把当前数给end指向, end更新如果end指向最后一个了arr.length,返回初始位置 注意poll更新逻辑:size为0,报错, size--, start位置用tmp记录一下,返回这时候的start位置,start需要更新。 【代码】// 用固定数组实现队列publ...原创 2018-08-18 11:51:45 · 137 阅读 · 0 评论 -
java_basic_comparator
Github: https://github.com/yjfiejd/New_coder_java_algorithm/blob/master/comparator.java (可以下载code)排序的算法是我们最常用的算法,初学程序,每个人都尝试过排序。但只是局限于简单的排序。但是我们遇到的情况就不是如此简单了。如给公司里的商品进行排序,我们很轻易的想到按照商品的名称排序不就完了,而且简...原创 2018-08-13 15:42:03 · 118 阅读 · 0 评论 -
java_Basic_MergeSort
【归并排序】:归并排序 【代码】: package java_test;import java.util.Arrays;public class MergeSort_02 { public static void main(String[] args) { int [] a ={1,5,6,2}; mergeSort(a,0,a.length-1); Sys...原创 2018-07-30 21:45:17 · 107 阅读 · 0 评论 -
java_Basic_QuickSort
学习自左神1,【转】科普:【坐在马桶上看算法】算法3:最常用的排序——快速排序2,【经典快速排序】 -> 可以通过荷兰国旗问题优化-> 把数组分成3块区域,(小于+等于+大于) 区域 之前是2块区域,(小于等于 + 大于)区域3,【随机快速排序】 目的是为了降低时间复杂度经典快速排序 -> 默认选取数组最后一个数进行,数组切分。(与数据集有关系...原创 2018-08-09 16:35:54 · 201 阅读 · 0 评论 -
java_Basic_BubbleSort 排序 & 对数器
【百度百科】https://baike.baidu.com/item/冒泡排序冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,一次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。这个算法的名字由来是因为越大的元素...原创 2018-07-28 13:55:50 · 176 阅读 · 0 评论 -
java_Basic_SelectionSort
【选择排序】:https://baike.baidu.com/item/选择排序选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)...原创 2018-07-28 14:10:39 · 159 阅读 · 0 评论 -
Java_Basic_InsertionSort
【插入排序】:https://baike.baidu.com/item/插入排序有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法...原创 2018-07-28 14:13:36 · 307 阅读 · 0 评论 -
java_basic_heapSort
堆排序:【转】:图解排序算法(三)之堆排序堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。时间复杂度O(N*logN),额外空间复杂度O(1) 堆结构要掌握:堆结构的HeapInsert和Heapify 堆结构的增大,和减小 如果只建立堆,时间复杂度为O(N...原创 2018-08-09 22:50:09 · 102 阅读 · 0 评论 -
Java_Basic_smallsum
【小和问题】:在随机元素,随机数组大小的数组中,找出左边比右边元素小的所有元素之和。 例如:数组[4,2,5,1,7,3,6] 第一个元素4比2大,不算小和,5比4和2都大,那就是4+2=6;1比4和2和5都小,不算小和;7比前面的都大,那就是上次小和6+4+2+5+1=18;然后3前面比2和1大,那就是18+2+1=21;最后6比4、2、5、1、3都大,结果就是21+4+2+5+...原创 2018-08-01 23:56:04 · 174 阅读 · 0 评论 -
Java_Basic_smallsum_review
【学习来自 -- 左老师】【java 基础】: 小和问题 【代码如下】public class SmallSum_01 { public static void main(String[] args) { int[] arr1 = { 1, 4, 3, 5}; smallSum(arr1); } public static int smallSum(in...原创 2018-08-06 21:06:27 · 216 阅读 · 0 评论 -
java_hashmap_get_random()
【问题】设计一个类似hashmap的结构,3个功能 insert(key):将某个key加入到该结构,做到不重复,delete(key):将原本在结构中的某个key去除getRandom():等概率随机返回结构中的任何一个key要求:3个功能时间复杂度为O(1), 不能遍历【原理】----- 借用2个Hashmap,第一个Hashmap:Str, index第二个...原创 2018-09-02 11:38:26 · 506 阅读 · 0 评论