原创 線性結構——Vector

抽象數據類型=數據模型+一組操作 Vector myvector; 注意操作而可以不用注意細節 從數組到向量 C/C+中的數組, 數組A[i]物理地址=A+i*s, 也稱線性數組 向量是數組的推廣和泛化,由一組元素按線性次序 封

原创 C語言實現順序棧 鏈棧 循環隊列 鏈隊列的基本操作

順序棧 #include <stdio.h> #include <stdlib.h> #define StackInitSize 10 #define StackIncrement 5 typedef int SElemType;

原创 算法分析的方法

計算機科學又叫計算的科學 目標是使計算高效 算法正確性: 可執行 有窮性(Hailstone函數) 健壯性(非法輸入時保證程序不崩潰) 最重要:使程序運行時間短,佔用空間小 算法分析 正確性:分析算法的不變性和單調性(採用數學證

原创 線性結構——列表

接口和實現 從靜態到動態 根據是否修改數據結構,操作大致分爲兩類: 1)靜態:讀取,數據結構的內容和組成一般不變:get, search 2) 動態:寫入,數據結構的局部或者整體改變: insert,remove 與操作方式相對應

原创 設計模式相關博客目錄,暫時完結了!!

設計模式相關博客目錄 策略模式,封裝變化,面向接口編程 觀察者模式,松耦合 裝飾者模式,面向擴展開放修改關閉 工廠模式 單件模式 命令模式 適配器模式與外觀模式,最少知識原則 模板方法模式,好萊塢原則 迭代器與組

原创 Servlet相關接口、類的方法整理

目錄**ServletConfig接口****ServletContext接口****Servlet接口****GenericServlet類****HTTPServlet類****ServletRequest接口****Http

原创 初探設計模式——觀察者模式

我將初次學習設計模式的一些思維活動記錄如下,如有謬論請不吝斧正。 觀察者模式 定義對象之間的一對多的依賴關係,當一個對象改變狀態,它的依賴者都會收到通知並自動更新 出版社是主題對象,讀者們是依賴者對象。一旦出版者改變狀態有了新刊

原创 初探設計模式——裝飾者模式 ,在I/O中的身影

初次學習,如有謬論請不吝斧正。 組合的威力是強大的,可以在運行時動態擴展而不改變原來的功能。 第四個設計原則:類應該對擴展開放,對修改關閉 應用這個原則通常會引入新的抽象層次,過多的引入會使代碼複雜度增加。 裝飾者模式:動態的將

原创 初探設計模式——工廠模式

Pizza是超類型,CheesePizza、ClamPizza是其子類。 public abstract class Pizza{ void prepare(){} void box(){} } 得到一個具體對象: Piz

原创 初探設計模式——代理模式(遠程代理,虛擬代理,動態代理)

代理模式用來控制和訪問管理,方式有很多。代理以通過Internet對他們的代理對象搬運的整個方法調用而出名,也可以代替某些懶惰的對象做一些事情。 遠程代理 遠程方法調用流程 客戶對象調用客戶輔助對象(Proxy)的方法 客戶輔助

原创 初探設計模式——模板方法模式

如果一些類有很多重複性的代碼,我們可以應用此模式把相同方法抽離出來,把相似的一些方法抽象出來。 算法結構中可以通過鉤子方法讓子類實現算法中可選的部分,也可讓子類有機會對模板方法中即將發生的行爲作出反應。 public abstr

原创 94.二叉樹的中序遍歷

1.遞歸 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; *

原创 LeetCode——20.有效的括號

給定字符串,判斷字符串內的括號是否匹配 1.Stack 給定字符串,判斷字符串內的括號是否匹配 左括號入棧,右括號出棧匹配 爲了保證正確性,右括號出棧前判斷是否棧空 class Solution { public bool

原创 web.xml元素詳解及加載流程

1、WEB工程加載web.xml過程 經過個人測試,WEB工程加載順序與元素節點在文件中的配置順序無關。即不會因爲 filter 寫在 listener 的前面而會先加載 filter。WEB容器的加載順序是:ServletCon

原创 Servlet的使用和原理分析

目錄Servlet相關接口、類Servlet工作流程web.xmlServlet協作Servlet重定向屬性配置過濾器會話跟蹤事件和監聽器官方文檔許令波寫的原理分析 servlet是運行在Web服務器中的小型Java程序,通常通過