資料結構與演算法學習二

2021-09-27 11:51:11 字數 1211 閱讀 3001

(1)用js中object物件模擬集合set的資料結構

set集合中的資料結構:s= ===> s = ,即集合中的鍵--值相同。

故,可令object物件中的鍵---值相同,來模擬set集合及其中的方法,**如下:

//用js中object模擬實現集合set資料結構

//es6中有set類,避免混淆這裡用set2

var set2 = function();

//利用object類,使其key與value相等來模擬set---.

//檢查元素是否存在

this.has = function(value)

//新增元素

this.add = function(value)

return false;

}//刪除元素

this.remove = function(value)

return false;

}//清空集合

this.clear = function();

}this.size = function()

// return count;

//方法3---es6

return object.keys(items).length;

}//提取集合全部值

this.value = function()

}return values;

}//並集

this.union = function(otherset),其中「obj」----變數;「」-----變數值,存在記憶體中。

當乙個存在記憶體中的變數值失去引用後,即令 obj = null後,記憶體中的變數值會被**----js記憶體**機制。

如果將定義的obj存入set集合後,再令obj = null,由於變數值仍被set引用,所以不會被**-----set的強引用。

如果將定義的obj存入weakset集合後,再令obj = null,由於weakset的弱引用,所以變數值仍然會被**。

資料結構與演算法學習總結(二)

1.什麼是複雜度分析?1 資料結構和演算法解決是 如何讓計算機更快時間 更省空間的解決問題 2 因此需要從執行時間和占用空間兩個維度來評估資料結構和演算法的效能。3 分別用時間複雜度和空間複雜度兩個概念描述效能問題,二者統稱為複雜度。4 複雜度描述的是演算法執行時間 或占用空間 與資料規模的增長關係...

資料結構與演算法學習

我想重新學習一下資料結構與演算法,打好基礎。to measure is to know.我們用演算法複雜度t n 來表示演算法的效率,效能。t n 的取值 所有問題規模為n的問題例項中,將他們的計算成本進行總體的比較,取出最壞情況下的值。有幾點需要catch,1.演算法執行的時間,會根據程式語言,作...

C 資料結構與演算法 學習隨筆二

本文主要介紹使用fstream流輸入和輸出txt檔案的方法及相關注意事項。使用fstream將相關資訊寫入到txt檔案中,因為fstream既能讀又能寫,所以在開啟txt檔案時需要指明對其進行的操作。關於檔案的開啟方式說明如下 在開啟檔案之後 預設為檔案存在開啟,檔案不存在新建乙個 可以使用writ...