原创 數據結構-單鏈表實現棧

package 數據結構; public class Link { public int data ; public Link next ;//記錄下一個節點 public Link ( int data ) { th

原创 哈希表-開放地址法(二次探測以及在哈希法)

首先你要知道什麼二次探測,在哈希法都是用來解決哈希衝突的。 然後,二次探測就是在線性探測上做一個修改而成的,線性探測中,遇到衝突就自增1,而二次探測中,就是把這個自增1 , 去掉換成一個固定值或自定義值,比如,遇到衝突就自增5啊,

原创 數據結構-循環數組實現隊列

* 隊列的特點:先進先出  * 與堆棧相比,棧的操作始終是一個方向,而隊列的操作在兩端  *  * 如果按照原始的方法(即不考慮空間浪費,直接插,插到底拉倒)實現隊列,那麼當一邊添加,一邊刪除時,添加到最後,rear到索引最大值(這時又

原创 Spring 學習 (一)引入

Spring 介紹 Spring是什麼? Spring是一個解決了許多在J2EE開發中常見的問題的強大框架。 爲什麼要用Spring?Spring能幹嘛? 在實際web開發中,首先基於mvc這種設計思想進行開發,其

原创 選擇排序

選擇排序 大致思想就是:一組數據,我先選定第一個數是最小的,然後依次在除了第一個數以外的數據中遍歷,找到比當前認定的最小值還要小的數,然後記錄他的下標,待一次循環結束後,交換位置。 此時這組數據的第一個元素就是名副其實的最小的,

原创 希爾排序

package sort; import java.util.ArrayList; /* * 希爾排序 * * 希爾排序其實就是在插入排序基礎上,加上一個步長計算 */ public class shellSor

原创 插入排序

package sort; /* * 插入排序 * * 使用插入排序的前提是確定數據一部分是有序的,然後取出無序數據在有序數據中作比較,找到合適的位置 */ public class insertionSort {

原创 快速排序

在看快排之前先明白一點: 快排是基於劃分來排的,那麼什麼是劃分? 劃分就是把數據分爲兩組,使所有比關鍵字大的在一邊,所有比關鍵字小的在一邊 劃分演示: 先取一個關鍵值(這裏是隨便取的) 從左往右掃描(這裏圖少了幾張)

原创 數據結構-單鏈表實現隊列

隊列的特點是先進先出,與堆棧不同的是,隊列的操作在兩端分別進行! package 數據結構; public class LinkQueue { /* * 使用單鏈表實現隊列 */ private Link rear

原创 數據結構-用數組模擬棧

棧是一種抽象數據類型,是程序員的工具。 棧的特點:先入後出 push操作示意圖: (圖是從浙大的數據結構慕課視頻上截得) pop: 代碼: /* * 使用數組實現棧 * * 棧的特點:先入後出 * * 2017年11

原创 二分查找

二分查找的過程(成功案例) 下面的圖來源於 中國大學mooc-浙大數據結構 要找的數比中間值大,往右找 還是大,繼續往左 left=mid(10)+ 1 //11 right = 13不變 mid=(left+right)/2

原创 歸併排序

https://www.cnblogs.com/chengxiao/p/6194356.html 原理可以看下這位大大的博客,圖片描述的很棒 調用遞歸,第一次講一個數組分成兩部分,然後先對左部分進行操作,再次遞歸劃分最後

原创 哈希表-鏈地址法

鏈地址法其實就是將實現哈希表的底層數組的類型變成鏈表,每次插入數據插入到鏈表中即可 package map; public class Node { private int data ; public Node

原创 TCP連接管理

分爲兩個部分: 連接階段:三次握手 斷開連接:四次揮手 3次握手 1. 客戶機向服務器發送報文段,其中syn標誌位置1,表示客戶機同服務器想要建立一個連接,此時報文段中不能有數據,其中包括客戶機隨機生成的數據序

原创 數據結構-二叉搜索樹

**首先來了解一下樹的一些術語: (圖片來源:中國大學mooc —— 浙大數據結構) 二叉樹定義: 1、每個結點最多有兩顆子樹,結點的度最大爲2。 2、左子樹和右子樹是有順序的,次序不能顛倒。 3、即使某結點只有