上節(jié)課學(xué)習(xí)了二分搜索樹這樣一種有序數(shù)據(jù)結(jié)構(gòu) ,本節(jié)課將借助二分搜索樹來實(shí)現(xiàn)更高級(jí)的數(shù)據(jù)結(jié)構(gòu)--集合與映射。 1. 集合 1.1 基于二分搜索樹的集合實(shí)現(xiàn) 集合的主要特點(diǎn)是不能...
上節(jié)課進(jìn)一步研究了鏈表及其具有的一種固有屬性--遞歸,并遞歸實(shí)現(xiàn)了鏈表元素的刪除操作。本節(jié)課學(xué)習(xí)另外一種高效的數(shù)據(jù)結(jié)構(gòu)--樹。 1. 二分搜索樹 樹是一種天然的組織結(jié)構(gòu),在實(shí)...
上一節(jié)課主要學(xué)習(xí)了一種具有真正動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)——鏈表,實(shí)現(xiàn)了鏈表基本的增刪改查等操作,基于鏈表的操作特性,實(shí)現(xiàn)了棧的結(jié)構(gòu),并通過增加尾節(jié)點(diǎn),進(jìn)一步實(shí)現(xiàn)了隊(duì)列這樣一種數(shù)...
前面兩節(jié)課程主要介紹了動(dòng)態(tài)數(shù)組、棧以及隊(duì)列這樣三種數(shù)據(jù)結(jié)構(gòu),這三種數(shù)據(jù)結(jié)構(gòu)的底層都是依托于靜態(tài)數(shù)組構(gòu)建的,靠resize解決固定容量的問題。本節(jié)課介紹一種真正的動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)-...
1. 棧 Stack 1.1 棧的特點(diǎn) 棧是一種線性結(jié)構(gòu) 只能從一端添加元素,也只能從同一端(棧頂)取出元素 后進(jìn)先出(Last In First Out,LIFO) 1.2...
1. Java中的數(shù)組 Java中的數(shù)組是靜態(tài)數(shù)組,使用場(chǎng)景主要是“索引有語意”的情況,比如按學(xué)號(hào)查找分?jǐn)?shù),索引為學(xué)號(hào)。Java中數(shù)組的特點(diǎn)主要包括: 索引從0開始 聲明時(shí)需...
上節(jié)課主要介紹了計(jì)算微分的幾種數(shù)值方法,對(duì)一階微分,最簡單的莫過于兩點(diǎn)前向差分、后向差分和中心差分這三種方法,其中中心差分的精度最高,這三種差分公式都可以通過推導(dǎo)泰勒展開式得...
上一節(jié)課主要介紹了曲線擬合與插值,曲線擬合主要包括線性擬合(單特征線性回歸和非線性擬合(非線性方程特征變換、高階多項(xiàng)式擬合),插值包括多項(xiàng)式插值(拉格朗日形式、牛頓形式)、樣...
在Hexo中渲染MathJax數(shù)學(xué)公式 在用markdown寫技術(shù)文檔時(shí),免不了會(huì)碰到數(shù)學(xué)公式。常用的Markdown編輯器都會(huì)集成Mathjax,用來渲染文檔中的類Late...
上節(jié)課主要介紹了特征值與特征向量的概念,低階矩陣的特征值可以通過列出特征方程求解,高階矩陣則可以通過冪法與反冪法迭代求解出最大特征值與最小特征值(模),要求出矩陣的全部特征值...
上節(jié)課主要介紹了線性方程組的兩種迭代求解算法,一個(gè)是Jacobi迭代(同步更新),一個(gè)是高斯塞德爾迭代(異步更新)。對(duì)于特殊的三對(duì)角系統(tǒng),一種更簡單快捷的Thomas算法也可...