自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 java快速排序

public class QuickSort { public static void quickSort(int arr[] , int n) { quickSort(arr , 0 , n -1 ) ; } private static void quickSort(int arr[] , int l , int r) {...

2019-03-28 16:03:20 192

转载 八大算法思想

八大算法思想八大算法:枚举、递推、递归、分治、贪心、试探法、动态迭代和模拟算法思想。一、枚举算法思想(暴力算法)  将问题的所有可能答案一一列举,根据判断条件判断此答案是否合适,一般用循环实现。  经典运用:百钱买百鸡、填写运算符二、递推算法思想  1.顺推法:从已知条件出发,逐步推算出要解决问题的方法。  2.逆...

2019-03-28 08:29:49 512

原创 the realize of mergeSort

public class MergeSort { public static void mergeSort(int arr[] , int n) { mergeSort(arr , 0 , n) ; } private static void mergeSort(int arr[] ,int l , int r) { ...

2019-03-27 22:36:52 234

原创 无题

重要的还是需要打好基础,不要上来就做很难的题目,关键还是需要从基础做起,基础打好了才有更大的提升空间。像迭代与递归的实现,真正的理解递归思想,其实还是很重要的。像数据结构中的树的实现,像汉诺塔的实现,都用到了递归思想的实现。其次就是java中的引用的理解,像其他语言也有,关键还是对一门语言的理解,这样才能更加深入的去实现,有些时候,你数据结构的不会,...

2019-03-27 11:31:41 144

原创 二分查找之C++迭代、递归实现

#include<iostream>#include<ctime>#include<cassert>using namespace std ;//迭代版的binarySearchint binarySearch(int arr[] , int n , int target){ int l = 0 , r = n - 1 ; //在[...

2019-03-27 11:22:45 451

原创 插入排序之C++

成功的失败经历-----插入排序#include<iostream>#include<algorithm>#include<SortTestHelper.h>using namespace std ;void insertSort(int a[] , int n){ for(int i = 1 ; i < n ; i ++)...

2019-03-26 17:07:01 133

原创 选择排序之C++

选择排序是将数组中的最小值不断地前移,从数组0往后进行与最小值的交换。#include<iostream>#include<algorithm>using namespace std ;int myMin(int arr[] , int n , int j){ int min = arr[j] ; int index = j...

2019-03-25 19:25:20 165

原创 画风一改之C++冒泡排序

#include<iostream>using namespace std ;int main(){ int a[] = {5 ,6,7,1,2,9,3,4} ; for(int i = 0 ; i < 8 ;i ++) { for(int j = 0 ;j < 7 ; j ++) { ...

2019-03-25 19:21:57 158

原创 The use of Collections in java

/*** Collection是集合类的父类,* Collections是集合类的一个工具类,* 所以对于Collections的了解还是很有必要的*/import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;public class Test { public...

2019-03-24 09:37:42 137

原创 java数据结构之trie

import java.util.TreeMap;/*** 相对于数组实现的堆和数组实现的并查集运用到了集合的索引,字典树Trie的使用是* 多叉树,很有意思。关键的不是如何书写。而是懂得算法的的思想。怎样的代码实现其实* 是另外一回事。**/public class Trie { private class Node{ public ...

2019-03-23 20:48:55 376

原创 java数据结构之并查集

希望大家通过本次的学习后,能够加深对数组的理解和使用import java.util.Random;public class UnionFind { public static int count = 0 ; private int[] parent ; private int[] rank ; public UnionFind(int siz...

2019-03-23 17:28:56 161

原创 干货满满之树映射

public class TreeMap <K extends Comparable<K> , V>{ private class Node { public K key ; public V value ; public Node left , right; pu...

2019-03-22 13:08:57 437

原创 java 数据结构之链表字典

public class Map<K , V> { private class Node { public K key ; public V value ; public Node next ; public Node(K key , V value , Node next) {...

2019-03-22 09:12:06 394

原创 java数据结构之基于链表实现的集合

/*** 基于链表实现的集合,* 链表的实现可以参照已经写过的前面的链表知识*/public class LinkedSet<T> { private MyLinkedList<T> list ; public LinkedSet() { list = new MyLinkedList<>() ; ...

2019-03-21 21:31:41 551

原创 java数据结构之集合

public class Set<T extends Comparable<T>> { private BST<T> bst ; public Set() { bst = new BST<>() ; } public boolean isEmpty() { ret...

2019-03-21 21:15:24 139

原创 (满满的干货)java数据结构之二分搜索树

/*** 写关于树的操作时还是应该多用递归,如树的遍历用递归写就方便的多* 用循环则需要使用栈,而同理对于删除操作则需要删除下一个节点时如何* 将将上一个节点的下一个节点为空。* 你可能会想为什么不能直接将当前节点为空,因为这只是使得当前的节点为空,* 而原本生成的对象仍然存在。所以用递归可以将其下一个节点找到赋给当前节点。*//** 相比于链式结构树结构更难于理解...

2019-03-21 20:16:49 196

原创 java数据结构之数组栈

/**** 根据数组线性表改编而来的数组栈* 关于线性表如何实现的可以参照前面线性表的实现*/public class Stack<T> { private Array<T> array ; public Stack() { array = new Array<T>() ; } pu...

2019-03-20 18:15:45 165

原创 java数据结构之数组队列

/*** 这是通过封装java数组实现的线性表实现的队列,感兴趣的可以看上一篇文章*/public class Queue<T> { private Array<T> array ; public Queue() { array = new Array<T>() ; } pu...

2019-03-20 17:59:38 213

原创 java优先队列的实现

//以堆作为底层数据结构实现,对的实现看上一篇文章public class PriorityQueue<E extends Comparable<E>> { private MaxHeap maxHeap ; public PriorityQueue() { maxHeap = new MaxHeap() ; }...

2019-03-20 12:56:39 1744

原创 java堆的实现

/** 自己实现的ArrayList可以通过在两个data元素集合是实现swap的操作,* 而如果调用已经实现的ArrayList则可以使用工具类Collections.swap() ;*//*** 堆的在下标设置时使用shiftUp时使用index=0 ;这是跟数组有关,* 便于统一操作*/import java.util.ArrayList;import jav...

2019-03-20 12:35:21 757

原创 数组与堆

/*** 数据结构与算法果然还是要跟进度来,* 不要想当然,今天先写数组的前序后序中序遍历* 也就是为了后面堆的实现做准备*堆排序*/public class BinaryTree { int array[] = {1 , 2, 9 , 3 , 6 ,10 , 13 , 4 , 5 ,7 ,8 ,11,12,14,15} ; public...

2019-03-19 23:50:30 437

原创 java数据结构之双端队列

//其实数据结构我们首先要去理解其原理,然后通过实践来验证自己的想法,是一个很不错的选择//如果你们看到了我前期链表的设计//再来理解双端队列其实也是很简单的,/**主要是要注意到,在Node初始化时就对Node的prev或next进行了指定*这也是理解双端队列的关键*/public class DQueue&lt;E&gt; { public DQueue()...

2019-03-18 13:01:38 613

原创 java数据结构之队列(使用头尾节点实现)

/*** 对于链表的实现,如果只对连标头进行操作,则是O(1)的时间复杂度* 如果对链表尾进行操作则是O(n)的时间复杂度*而在用数组实现的队列同样出现了此类问题,所以解决这类问题的方式是使用循环队列*而对于链表而言则是使用尾指针*出于性能的考虑*/public class LinkedQueue2&lt;E&gt; { //对队列进行操作时不再使用虚拟头结点...

2019-03-17 16:47:34 777

原创 java数据结构之链栈

//如果成功实现链表之后,那么对队列和栈的实现都很简单了//可以自己在从底层实现一个栈或队列,也可以以原有的线性表作为底层数据结构//来进行实现public class LinkedListStack&lt;E&gt; { private MyLinkedList&lt;E&gt; list ; public LinkedListStack() { ...

2019-03-17 15:08:28 202

原创 java数据结构之队列

//如果成功实现链表之后,那么对队列和栈的实现都很简单了//可以自己在从底层实现一个栈或队列,也可以以原有的线性表作为底层数据结构//来进行实现public class LinkedListQueue&lt;E&gt; { private MyLinkedList&lt;E&gt; list ; public LinkedListQueue() { ...

2019-03-17 15:07:21 436

原创 java数据结构(线性表之链表)

/**** 1.听别人讲的时候发现很容易,但其实是很不容易,* 其中涉及了很多的知识,像引用,引用的理解是非常重要的* 可以说不能理解引用无法学习java的数据结构。** 2.同时对于java的数据结构的递归与迭代的两种方法,* 分别给予书写** 3.所以就是说细节很重要,有时候就是因为很多细节上的不理解导致了* 无法将知识点连贯起来** 4...

2019-03-17 11:43:41 225

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除