學習《演算法筆記》(一)

2021-10-05 20:17:34 字數 1181 閱讀 6046

1.vector 變長陣列

vector《型別名》 name

通過下標訪問,如name[0]

push_back(x) 在vector後面新增乙個元素x

pop_back() 刪除vector的尾元素

size() 獲得vector中元素的個數

clear() 清空vector中所有元素

insert(it,x) 在it處插入乙個元素x

erase(it) 刪除it處的元素

erase(a,b) 刪除區間[a,b)的元素 左閉右開

2.set 集合 內部自動遞增排序且不含重複元素(去重)

set《型別名》 name

通過迭代器訪問 set《型別名》::iterator it

insert(x) 插入元素x,自動遞增排序和去重

find(value) 返回set中對應值為value的迭代器

erase(it) it是所刪元素的迭代器

setst st.erase(st.find(100)) //利用find找到100,然後用erase刪除它

erase(value) value是所刪元素的值

st.erase(100) 刪除值為100的元素

st.erase(a,b) 刪除[a,b)區間的元素,a,b是迭代器,左閉右開

st.size() 元素的個數

st.clear() 清空

3.map 對映 將任何基本型別對映到任何基本型別

map《型別名1, 型別名2> name 第乙個是鍵的型別,第二個是值的型別

mapmp

map會以鍵從小到大的順序自動排序

mapmp

mp[『c』]=20

mp[『c』] 通過下標訪問

map::iterator it

it->first it->second 迭代器訪問

find(key) 返回鍵為key的迭代器

erase(it) it是所刪元素的迭代器

erase(key) 如erase(『b』)刪除鍵為b的對映

erase(a, b) [a,b)區間的元素,a,b為迭代器

size() 對映的對數

clear() 清空

機器學習演算法筆記(一)

1 容斥原理 a.容斥原理是組合數學方法,可以求解集合 復合事件的概率等。b.計算幾個集合並集的大小,先計算出所有單個集合的大小,減去所有兩個集合相交的部分,加上三個集合相交的部分,再減去四個集合相交的部分,以此類推,一直計算到所有集合相交的部分。c.概率論 事件ai i 1,n p ai 為對應事...

演算法學習筆記(一)

mapreduce 分治演算法的應用 是 google 大資料處理的三駕馬車之一,另外兩個是 gfs 和 bigtable。它在倒排索引 pagerank 計算 網頁分析等搜尋引擎相關的技術中都有大量的應用。儘管開發乙個 mapreduce 看起來很高深,感覺遙不可及。實際上,萬變不離其宗,它的本質...

演算法學習筆記(一) 演算法概述

一 演算法 演算法就是任何良定義的計算過程,該過程將某個值或值的集合作為輸入並產生某個值或值得集合作為輸出 亦可將演算法看作是用於求正確解的計算問題的工具。一般情況下,問題陳述了期望的輸入和輸出之間的集合對映關係 而演算法則描述乙個特定的計算過程來實現問題的輸入和期望的輸出之間的對映關係。二 np問...