JavaShuo
欄目
標籤
數據結構和算法
時間 2019-11-12
標籤
數據
結構
算法
简体版
原文
原文鏈接
09 原則
摘要: ##單一職責原則* 職責被定義爲:引發變化的緣由;* SRP原則體現爲:一個對象(方法)只作一件事情;####經常使用模式:* 代理模式* 迭代器模式* 單例模式* 裝飾者模式####分離職責* 若是隨着需求的變化,有兩個職責老是同時變化,那就沒必要分離他們;* 職責的變化軸線僅當它們肯定會發生變化時纔有...
閱讀全文
posted @
2015-07-02 18:05
JinksPeng 閱讀(4) |
評論 (0)
編輯
01基礎
摘要: ##鴨子類型:* 只關注對象的行爲,而不關注對象自己;##多態:* 簡介: 同一操做用於不一樣對象能夠產生不一樣的結果;* 背後的思想:將不變的事與可能變的事分開,封裝;關鍵是消除類型之間的耦合;* 實現: * 通常語言:經常使用繼承,向上轉型來表現對象的多態特性; * JS:因爲自己的的‘鴨子類型’特...
閱讀全文
posted @
2015-07-02 18:03
JinksPeng 閱讀(4) |
評論 (0)
編輯
08狀態、適配器
摘要: ##狀態模式* 狀態模式的關鍵是把事物的每種狀態都封裝成單獨的類,跟此種狀態有關的行爲都被封裝在這個類內部;當內部狀態改變時,會帶來不一樣的行爲變化;####電燈開關的例子```var offLightState = function(light) { this.light = light;};of...
閱讀全文
posted @
2015-06-17 09:53
JinksPeng 閱讀(3) |
評論 (0)
編輯
07中介者、裝飾者
摘要: ##中介者模式* 解除對象與對象之間的耦合關係;增長一箇中介者後,全部的對象均可以經過中介者通訊而不是互相引用;####中介者模式例子* 遊戲```function Player(name, teamColor) { this.state = 'live'; this.name = name; ...
閱讀全文
posted @
2015-06-17 09:52
JinksPeng 閱讀(7) |
評論 (0)
編輯
06享元、責任鏈
摘要: ##享元模式* 是一種用於性能優化的模式;核心是運用共享技術來有效支持大量細粒度的對象;####內部狀態和外部狀態* 享元模式要求對象的屬性劃分爲內部狀態和外部狀態;* 目標是減小共享對象的數量; * 內部狀態存儲於對象內部; * 內部狀態能夠被一些對象共享; * 內部狀態獨立於具體的場景,通...
閱讀全文
posted @
2015-06-17 09:51
JinksPeng 閱讀(5) |
評論 (0)
編輯
05組合、模版
摘要: ##組合模式* 將對象組合成樹形結構,以表示‘部分-總體’的層次結構;遍歷樹形結構的操做只須要一次操做;* 利用對象多態性的統一對待組合對象和單個對象,不用關心他們的不一樣;* 像命令模式中宏命令就是一種組合模式;####請求在樹中傳遞的過程;* 若是子節點是葉節點,葉對象自身會處理這個請求;若是仍是...
閱讀全文
posted @
2015-06-17 09:50
JinksPeng 閱讀(5) |
評論 (0)
編輯
04觀察、命令
摘要: ##觀察者模式* 又叫發佈訂閱模式,定義對象間一對多的依賴關係,當一個對象的狀態發生改變時,全部依賴它的對象都獲得通知;* JS開發中,通常用事件模型替代傳統的發佈-訂閱模式####做用* 能夠普遍應用於異步編程中,替代傳統回調函數;如訂閱`ajax`請求的`error、succ`事件;* 取代對象...
閱讀全文
posted @
2015-06-17 09:48
JinksPeng 閱讀(5) |
評論 (0)
編輯
03代理、迭代器
摘要: ##代理模式* 爲一個對象提供一個代用品或佔位符。以便控制對他的訪問;#####面向對象設計原則-單一職責原則* 就一個類(對象,函數)而言,應該僅有一個引發他變化的緣由;(低耦合)####代理和本體藉口的一致性* 當不須要代理的時候能夠替換回本體####保護代理* 過濾請求;能夠用於控制不一樣權限對...
閱讀全文
posted @
2015-06-17 09:47
JinksPeng 閱讀(10) |
評論 (0)
編輯
02單例、策略
摘要: ##單例模式* 保證一個類只有一個實例,並提供一個訪問他的全局訪問點;####模擬單例實現* 傳統方式:```var createDiv = (function(){ var instance; var createDiv = function(html){ if(instance) ...
閱讀全文
posted @
2015-06-17 09:46
JinksPeng 閱讀(9) |
評論 (0)
編輯
js:數據結構筆記14--高級算法
摘要: 動態規劃:遞歸是從頂部開始將問題分解,經過解決全部分解出小問題來解決總體問題;動態規劃從底部開始解決問題,將全部小問題解決,而後合併掉一個總體解決方案; function dynFib(n) { var val = []; for(var i = 1; i b) ? a : b;}functi...
閱讀全文
posted @
2014-10-25 12:04
JinksPeng 閱讀(10) |
評論 (0)
編輯
js:數據結構筆記13--檢索算法
摘要: 順序查找:也稱線性查找,暴力查找的一種基本格式:var nums = [];for(var i = 0; i max min = arr[i]; } } return min;}View Code自組織數據:通過屢次查找以後,查找最頻繁的元素會從原來...
閱讀全文
posted @
2014-10-25 10:48
JinksPeng 閱讀(17) |
評論 (0)
編輯
js:數據結構筆記12--排序算法(2)
摘要: 高級排序算法:(處理大數據:百萬以上)希爾排序:是插入排序的優化版;首先設置間隔數組,而後按照每一個間隔,分別進行排序;如第一個間隔爲5,首先a[5]與a[0]進行插入排序;而後a[6]和a[0],a[1]進行插入排序,直到最後一個;而後換下一個間隔值,直到全部間隔值排序完(當間隔值爲1時,就是通常的...
閱讀全文
posted @
2014-10-20 09:11
JinksPeng 閱讀(10) |
評論 (0)
編輯
js:數據結構筆記11--排序算法(1)
摘要: 基本準備: function CArray(numElems) { this.dataStore = []; this.pos = 0; this.numElems = numElems; this.insert = insert; this.toString = toStr...
閱讀全文
posted @
2014-10-19 17:23
JinksPeng 閱讀(18) |
評論 (0)
編輯
js:數據結構筆記10--圖和圖算法
摘要: 圖:是由邊和定點的集合組成; 按照圖的定點對是否有序能夠分爲:有向圖和無向圖;路徑:全部頂點都由邊鏈接構成;路徑長度爲第一個定點到最後一個頂點之間的數量;環:指向自身的頂點,長度爲0;圈:至少有一條邊的路徑,且第一個頂點和最後一個頂點相同;強連通:若是兩個頂點之間有路徑,則這兩個頂點就是強連通,反之...
閱讀全文
posted @
2014-10-18 19:14
JinksPeng 閱讀(29) |
評論 (1)
編輯
js:數據結構筆記9--二叉樹
摘要: 樹:以分層的方式存儲數據;節點:根節點,子節點,父節點,葉子節點(沒有任何子節點的節點);層:根節點開始0層;二叉樹:每一個節點子節點不超過兩個;查找快(比鏈表),添加,刪除快(比數組);BST:二叉樹查找:設置根節點爲當前節點;若是要插入的節點小於當前節點,則設置其左節點爲新的當前節點;大於的話選右...
閱讀全文
posted @
2014-10-18 11:24
JinksPeng 閱讀(26) |
評論 (2)
編輯
js:數據結構筆記8--集合
摘要: 集合:惟一性,無序性;基本結構: function Set () { this.dataStore = []; this.add = add; this.remove = remove; this.contains =contains; this.show = show; } ...
閱讀全文
posted @
2014-10-17 20:45
JinksPeng 閱讀(12) |
評論 (0)
編輯
js:數據結構筆記7--哈希表
摘要: 哈希表(散列表):經過哈希函數將鍵值映射爲一個字典;哈希函數:依賴鍵值的數據類型來構建一個哈希函數;一個基本的哈希表:(按字符串計算鍵值)function HashTable() { this.table = new Array(137); this.simpleHash = simpleH...
閱讀全文
posted @
2014-10-17 16:13
JinksPeng 閱讀(26) |
評論 (0)
編輯
js:數據結構筆記6--字典
摘要: Dictionary類的基礎是數組不是對象;字典的主要用途是經過鍵取值;基本定義:function Dictionary() { this.dataStore = new Array(); this.add = add; this.find = find; this.remove =...
閱讀全文
posted @
2014-10-17 14:09
JinksPeng 閱讀(27) |
評論 (0)
編輯
js:數據結構筆記5--鏈表
摘要: 數組:其餘語言的數組缺陷:添加/刪除數組麻煩;js數組的缺點:被實現爲對象,效率低;若是要實現隨機訪問,數組仍是更好的選擇;鏈表:結構圖:基本代碼:function Node (elem) { this.elem = elem; this.next = null;}function LLis...
閱讀全文
posted @
2014-10-17 11:45
JinksPeng 閱讀(17) |
評論 (0)
編輯
js:數據結構筆記4--隊列
摘要: 隊列是一種特殊的列表,數據結構爲FIFO;定義:function Queue() { this.dataStore = []; this.enqueue = enqueue; this.dequeue = dequeue; this.front = front; this.bac...
閱讀全文
posted @
2014-10-16 10:26
JinksPeng 閱讀(15) |
評論 (0)
編輯
js:數據結構筆記3--棧
摘要: 棧是一種特殊的列表,數據結構爲LIFO;定義:function Stack() { this.dataStore = []; this.top = 0; this.push = push; this.pop = pop; this.peek = peek; this.len...
閱讀全文
posted @
2014-10-15 09:41
JinksPeng 閱讀(16) |
評論 (0)
編輯
js:數據結構筆記2---列表
摘要: 列表:定義:一組有序的數據;function List() { this.listSize = 0; this.pos = 0; this.dataStore = []; this.find = find; .........................}方法:append:...
閱讀全文
posted @
2014-10-13 09:31
JinksPeng 閱讀(19) |
評論 (0)
編輯
js:數據結構筆記1---數組
摘要: JS中數組:只是一種特殊的對象,比其餘語言中效率低;屬性是用來表示偏移量的索引;在JS中,數字索引在內部被轉化爲字符串類型(這也是爲何寫對象屬性的時候能夠不叫引號),由於對象中的屬性必須是字符串類型;操做:判斷:isArray();複製:淺複製:var arr1 = arr2;深複製:functi...
閱讀全文
posted @
2014-10-12 13:29
JinksPeng 閱讀(19) |
評論 (0)
編輯
相關文章
1.
數據結構和算法
2.
算法和數據結構
3.
數據結構與算法 算法_數據結構和算法簡介
4.
數據結構和算法(一)數據結構和算法概述
5.
數據結構和算法:什麼是數據結構和算法
更多相關文章...
•
Rust 結構體
-
RUST 教程
•
XML 樹結構
-
XML 教程
•
算法總結-回溯法
•
TiDB 在摩拜單車在線數據業務的應用和實踐
相關標籤/搜索
數據結構和算法
算法和數據結構
算法與數據結構
數據結構算法
數據結構與算法
數據結構
數據結構和算法05
學點數據結構和算法
Java數據結構和算法
常見算法和數據結構
XLink 和 XPointer 教程
Redis教程
MyBatis教程
算法
數據傳輸
數據庫
0
分享到微博
分享到微信
分享到QQ
每日一句
每一个你不满意的现在,都有一个你没有努力的曾经。
最新文章
1.
微軟準備淘汰 SHA-1
2.
Windows Server 2019 Update 2010,20H2
3.
Jmeter+Selenium結合使用(完整篇)
4.
windows服務基礎
5.
mysql 查看線程及kill線程
6.
DevExpresss LookUpEdit詳解
7.
GitLab簡單配置SSHKey與計算機建立連接
8.
桶排序(BucketSort)
9.
桶排序(BucketSort)
10.
C++ 桶排序(BucketSort)
本站公眾號
歡迎關注本站公眾號,獲取更多信息
相關文章
1.
數據結構和算法
2.
算法和數據結構
3.
數據結構與算法 算法_數據結構和算法簡介
4.
數據結構和算法(一)數據結構和算法概述
5.
數據結構和算法:什麼是數據結構和算法
>>更多相關文章<<