原创 排序算法-----計數排序

計數排序不是基於比較的排序算法,其核心在於將輸入的數據值轉化爲鍵存儲在額外開闢的數組空間中,作爲一種線性時間複雜度的排序,計數排序要求輸入的數據必須是有確定範圍的整數。 時間複雜度:O(n+m) 空間複雜度:O(n+m) 穩定性:

原创 排序算法-----基數排序

基數排序是按照低位先排序,然後收集;在按照高位排序,然後在收集;依次類推,直到最高位。有時候有些屬性是有優先級順序的,先按低優先級排序,在按高優先級排序。最後的次序就是高優先級高的在前,高優先級相同的低優先級高的在前。 時間複雜度

原创 排序算法------堆排序

堆排序是指利用堆這種數據結構所設計的一種排序算法,堆積是一個近似完全二叉樹的結構,並同時滿足堆積的性質:即子結點的鍵值或索引總是小於(或者大於)它的父結點。 時間複雜度:O(n1og2n) 空間複雜度:O(1) 穩定性:不穩定

原创 17.1認識反射機制

反射是動態類的處理機制。 Class類是反射機制的根源,可以Object類中所提供的方法獲取到一個Class實例: 獲取Class實例化對象:public final Class<?> getClass();範例:獲取反射實例 i

原创 17.2Class類對象實例化

java.lang.Class類是反射機制操作的起源,爲了適應不同情況下的反射機制的操作,java提供有三種Class類對象實例化方式。 方式一:利用Object類中提供getClass()方法獲取實例化對象 import jav

原创 I/O編程(一)

1.編寫java程序,輸入三個整數,並求出三個整數的最大值和最小值。`` package com.lxh.sixteenchapter; import java.util.Scanner; public class Input

原创 16.12I/O編程概要

在java中使用File類表示文件本身,可以直接使用此類完成文件的各種操作,如創建、刪除等。在開發中可以利用遞歸的形式進行子目錄列出的操作。 輸入流,輸出流。主要分爲字節流(OutputSteam,InputStream)和字符

原创 MVC軟件架構

MVC軟件流程架構 servlet來充當控制層(界面和java代碼(業務邏輯)之間)C(controller) jsp來展示數據(視圖界面 view)V M(model模型)java的實體類+實體類對應的dao層(完成java類

原创 16.2字節流與字符流

輸入流與輸出流 在程序中所有的數據都是以流的方式進行傳輸或保存的,在流操作中存在有輸入流和輸出流的概念 操作流分類: 字節操作流(是在JDK 1.0的時候定義的):OutputStream、InputStream 字符操作流(是

原创 16.10 Scanner輸入流工具

在JDK 1.5之後Java提供了專門的輸入數據類,此類不光可以完成之前的輸入數據操作,也可以方便的對輸入數據進行驗證 Scanner讀取數據 範例:使用Scanner實現鍵盤數據輸入 import java.util.Sc

原创 16.6 RandomAccessFile

RandomAccessFile可以實現文件數據的隨機讀取,即:通過對文件內部讀取位置的自由定義,以實現部分數據的讀取操作,所以在使用此類操作時就必須保證寫入數據時數據格式與長度統一 範例:使用RandomAccessFile

原创 16.3字符編碼

在計算機的世界之中,所有的顯示文字都是按照其指定的數字編碼進行保存的,在以後進行程序的開發之中,會經常見到一些的一些常見的編碼: SO 8859-1:是一種國際通用單字節編碼,最多隻能表示0~255的字符範圍,主要在英文傳輸中使

原创 查找算法-----線性查找(順序查找)

根據給定的某個值,在查找表中確定一個其關鍵字等於給定值得數據元素(或記錄) 順序查找 二分查找 插值查找 斐波那契查找 樹表查找 分塊查找 哈希查找 順序查找 順序查找也稱爲線形查找,屬於無序查找算法,從數據結構線形查找表的一

原创 排序算法-----希爾排序

1959年Shell發明,第一個突破O(n^2)的排序算法,是簡單插入排序的改進版,它與插入排序的不同之處在於,他會優先比較距離較遠的元素,希爾排序又叫縮小增量排序。 時間複雜度:O(n^1.3) 空間複雜度:O(1) 穩定性:

原创 16.8 System類對I/O的支持

System類的三個IO常量 歷史遺留問題:System類由於出現較早,存在命名不標準的問題,這裏的out,err,in三個全局名稱全是小寫。 範例:實現信息輸出 public class JavaIODemo426A {