1.2日期類問題
1.3 hash的應用
1.4 排版題
1.5 查詢
1.6 貪心演算法
主要掌握:氣泡排序等常見排序方法,自帶函式sort()以及自定義排序函式,過載操作符。
sort函式:c++sort函式的使用總結
語法描述:
sort(begin,end,cmp),cmp引數可以沒有,如果沒有預設非降序排序。排序資料型別可以是int,float, double,string等。例如:sort(str.begin(),str.end())。
引入標頭檔案,#include可修改預設排序規則
公升序:sort(begin,end,less());
降序:sort(begin,end,greater()).
自定義cmp排序函式也可以實現。
#include
#include
#include
using
namespace std;
// 定義排序規則-降序(預設使用快排)
bool
cmp(
int x,
int y)
intmain()
//1.冒泡公升序:把較大值往後放
/* for (int i = 0; i < n; i++) // 決定了下輪排序的總數}*/
// 2.預設sort(起點位址,重點位址),進行快排非降序
sort
(buf, buf + n, greater<
int>()
);// 3.使用該過載形式,使用自己定義的排列規則
//sort(buf, buf + n, cmp);
for(
int i =
0; i < n; i++
)printf
("\n");
}return0;
}
使用sort函式,修改cmp比較函式
struct e
intcmp
(e a, e b)
使用操作符過載:
括號中的const表示引數a物件不會被修改,最後的const表明呼叫函式物件不會被修改!
可參考:c/c++對bool operator < (const p &a)const的認識,運算子過載詳解(雜談)
struct e
}//直接呼叫自帶的sort函式不需要修改
sort
(buf,buf+n)
計算日期的天數差,以及日期對應的星期等問題。
主要考慮平年和閏年的天數不一致,12個月的天數不一致。(閏年定義:能被400整除,或者,不能被100整除但能被4整除)
這裡是考慮把2023年的日期間隔求出來,再根據給出的兩個日期去除對應的日期間隔,再做差。記憶體要求有點大。
【注意】這樣耗費記憶體的陣列需要定義為全域性變數,或者使用動態分配malloc函式,如果定義在main()函式之內,可能出現棧溢位的問題。
求給定日期的星期。這類問題可以轉換為日期差值的問題。步驟:
知道今天的日期,星期幾;
求給定日期和今天的差值;
根據星期是按照7天進行迴圈,求出給定日期的星期即餘數。
這裡對hash的應用相當於乙個計數陣列的概念,相當於直接把整數值作為陣列的下標。這裡可以得到每個值出現的次數。同時,hash這種思想也可以用來排序,那麼我們在計數時,每個都賦值為1,然後按照位址輸出值為1的位址即是排序後的資料。
#include
#include
using
namespace std;
int score[
105]
;int
main()
cin >> s;
printf
("%d\n"
, score[s]);
}return0;
}
這類題主要考察對輸出格式的把握。
這類題要注意圖形的規律,網路考慮從上至下,從做至右應用規律。有時可以先完成排版再輸出。
重點掌握二分法。
二分法本身比較簡單,但是針對的是有序的資料,所以可能需要先進行前面提到的排序操作。此外,二分法的另外乙個應用是定界。因為二分之後,能夠確定中間位置。快速排序的劃分演算法也有類似的好處。
貪心演算法就是每次都選擇當前情況下的最優解,但是很可能得到的是區域性最優,並不是全域性最優。這個要根據具體題目進行使用。
參考:
計算機考研機試指南 第二章
1.程式一秒的執行時限,所設計的演算法複雜度不能超過百萬級別,即不能超過1千萬。若演算法複雜度是o n 2 則該n不應大於3000,否則會達到千萬數量級複雜度。2.qsort 的使用方法 一 對int型別陣列排序 int num 100 int cmp const void a const void...
計算機考研
最近看到有同學對計算機考研有一些疑問,今天抽空來寫一寫自己關於考研的了解以及看法。當然這裡不是說考研好不好,畢竟每個人看法都不一樣,我要說的看法是關於考研決心與複習方式的看法。一 確定學校 個人認為考研首先要確定學校,因為現在考研自主命題的學校越來越多,不先確定學校的話,很難進行專業課的複習,尤其計...
計算機考研用書
一 資料結構 1.教材 資料結構 嚴蔚敏 清華大學出版社 清華大學嚴蔚敏的這本資料結構的教材是國內資料結構教材的權威。也是國內使用最廣,其廣度遠遠超越其他同類教材,計算機考研專業課命題必定以它為藍本。這一本資料結構是2007年的最新版本,完全適合任何學校的考研資料結構的複習之用,是資料結構學習最權威...