原创 案例——UDP聊天

UDP聊天案例   做一個網絡編程相關的案例,想着用利用UDP的快速且不用連接的優點做一個聊天室,我們一個聊天程序需要可以接收消息,也要可以發送消息,所以我們的DatagramSocket對象不但需要調用send函數,還需要調用reciev

原创 UDP方式的傳輸

UDP 部分內容需要查文檔學習,我們需要了解下面的兩個類:java.net.DatagramSocket和java.net.DatagramPacket java.net.DatagramSocket: 此類表示用來發送和接收數據報包的套

原创 TCP方式的傳輸

TCP 客戶端 先創建socket對象建立tcp客戶端,明確服務端的地址和端口,必須與服務端對應,要不然對方收不到消息,就像快遞填錯了送貨地址。 Socket s = new Socket("127.255.255.25", 10003);

原创 字符串模式匹配——KMP算法

KMP算法匹配字符串 樸素匹配算法   字符串的模式匹配的方法剛開始是樸素匹配算法,也就是經常說的暴力匹配,說白了就是用子串去和父串一個一個匹配,從父串的第一個字符開始匹配,如果匹配到某一個失配了,就重新去從父串的下一個字符開始匹配,這樣

原创 AVL平衡二叉查找樹

二叉排序樹: 定義 二叉排序樹,又叫二叉查找樹,它或者是一棵空樹;或者是具有以下性質的二叉樹: 1. 若它的左子樹不空,則左子樹上所有節點的值均小於它的根節點的值; 2.

原创 Java IO File類

File類 構造方法   作爲IO操作中的最基本的類,File類可以封裝文件夾和文件,其構造方法如下: 1、通過給定的父抽象路徑名和子路徑名字符串創建一個新的File實例。 File(File parent, String child);

原创 圖數據類型的定義

圖 介紹   圖是相較於樹更復雜的一種數據結構類型,它表示了多對多的對應關係。圖的結構其實就是一些頂點和一些邊的集合。圖又分爲有向圖和無向圖。存儲圖的方法有很多,比如使用鄰接矩陣,鄰接表,十字鏈表和鄰接多重表等等。下面我們一一介紹一下這些

原创 一個幫你記密碼的小程序

OnePass   現在的人們社交軟件越來越多。需要記住的社交賬號也越來越多,我就是前幾天忘了某個密碼折騰了好久,於是心血來潮想使用Qt整一個小程序來幫助自己查詢密碼。取個名字叫OnePass吧。 思路:   因爲技術原因所以做的只需要滿足

原创 BS結構的一個註冊用戶的功能

註冊用戶功能   學了Java一段時間,就想折騰折騰,就做了一個註冊的功能,用HTML寫了一個網頁上的比較簡陋的界面,用Java做了一個後臺簡陋的服務器處理數據,最後將數據存儲到數據庫中。 註冊界面   先是最簡單的用HTML表單做一個

原创 圖的深度優先和廣度優先遍歷

深度優先遍歷   首先我們說一下鄰接點的定義,對於無向圖,如果兩個頂點之間相互連接,那麼它們互稱爲鄰接點。   深度優先遍歷支持從指定的結點開始遍歷。深度優先遍歷,也稱作深度優先搜索,縮寫爲DFS。深度優先遍歷從某個頂點v出發,訪問此頂點

原创 Java通信——獲取自己IP

獲取自己的IP地址 import java.net.InetAddress; import java.net.UnknownHostException; public class getip { public static voi

原创 Huffman樹及其編解碼

Huffman樹——編解碼 介紹:   Huffman樹可以根據輸入的字符串中某個字符出現的次數來給某個字符設定一個權值,然後可以根據權值的大小給一個給定的字符串編碼,或者對一串編碼進行解碼,可以用於數據壓縮或者解壓縮,和對字符的編解碼。

原创 向圖中增加結點

向圖中增加結點   我們前面說過採用鄰接矩陣來存儲圖,那麼向圖中增加結點其實只需要改變頂點數目,以及在鄰接矩陣中增加點與點,點與邊的關係即可。 先看增加結點的函數   就是向函數中傳入結點,判斷圖如果未滿就將其存入存放結點的數組,然後給