本文目錄一覽:
- 1、請教演算法:有兩個文本文件:f1,f2,一行一個記錄,如何快速找出同在f1和f2中的記錄?
- 2、學C++語言應該注意什麼
- 3、百度知道是不是都能解決所有問題
- 4、c語言的公共基礎知識應該怎麼複習啊?
請教演算法:有兩個文本文件:f1,f2,一行一個記錄,如何快速找出同在f1和f2中的記錄?
以下我只敘述一下我所能想到的策略:
1.直接f1中一個記錄一個記錄的到f2中尋找,複雜度為o(mn)
2.可以將f2進行快速排序之後,再拿f1中一個記錄一個記錄的到f2中尋找,這個可以用折半查找,複雜度為o(nlgn+mlgn)
3.將f1,f2都進行快排之後,開始用一個i和一個j分別指向f1和f2,這樣i和j都可以一直向後移動,不會出現i,j回退的現象,這樣的複雜度為o(mlgm+nlgn+?)?表示我不太確定i,j所需要的時間,不過這個肯定相當快速。
4,由於都是數字,可以採用鏈式基數排序的方法,用十個桶對f1排序,用10個桶對f2進行排序,排序所需要的時間為o(d(m+d+n+d))(d=10),然後再進行3中所敘述的類似的方式,一直向後指
5,對f1構建小頂堆,f2構建小頂堆,時間複雜度為o(m+n),然後拿著堆頂元素對應著比較,刪除堆頂這樣的操作這個o(mlgm+nlgn)
6,用hash表,n進行散列,m去查找,應該是o(m+n)
我習慣c語言,沒有用過java,不知道,我認為java應該都有對應的演算法的,它的封裝性太好了。
僅僅是個人的一些經驗而已
學C++語言應該注意什麼
1.把C++當成一門新的語言學習(和C沒啥關係!真的。);
2.看《Thinking In C++》,不要看《C++變成死相》;
3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因為他們很難而我們自己是初學者所以就不看;
4.不要被VC、BCB、BC、MC、TC等辭彙所迷惑——他們都是集成開發環境,而我們要學的是一門語言;
5.不要放過任何一個看上去很簡單的小編程問題——他們往往並不那麼簡單,或者可以引伸出很多知識點;
6.會用Visual C++,並不說明你會C++;
7.學class並不難,template、STL、generic programming也不過如此——難的是長期堅持實踐和不遺餘力的博覽群書;
8.如果不是天才的話,想學編程就不要想玩遊戲——你以為你做到了,其實你的C++水平並沒有和你通關的能力一起變高——其實可以時刻記住:學C++是為了編遊戲的;
9.看Visual C++的書,是學不了C++語言的;
10.浮躁的人容易說:XX語言不行了,應該學YY;——是你自己不行了吧!?
11.浮躁的人容易問:我到底該學什麼;——別問,學就對了;
12.浮躁的人容易問:XX有錢途嗎;——建議你去搶銀行;
13.浮躁的人容易說:我要中文版!我英文不行!——不行?學呀!
14.浮躁的人容易問:XX和YY哪個好;——告訴你吧,都好——只要你學就行;
15.浮躁的人分兩種:a)只觀望而不學的人;只學而不堅持的人;
16.把時髦的技術掛在嘴邊,還不如把過時的技術記在心裡;
17.C++不僅僅是支持面向對象的程序設計語言;
18.學習編程最好的方法之一就是閱讀源代碼;
19.在任何時刻都不要認為自己手中的書已經足夠了;
20.請閱讀《The Standard C++ Bible》(中文版:標準C++寶典),掌握C++標準;
21.看得懂的書,請仔細看;看不懂的書,請硬著頭皮看;
22.別指望看第一遍書就能記住和掌握什麼——請看第二遍、第三遍;
23.請看《Effective C++》和《More Effective C++》以及《Exceptional C++》;
24.不要停留在集成開發環境的搖籃上,要學會控制集成開發環境,還要學會用命令行方式處理程序;
25.和別人一起討論有意義的C++知識點,而不是爭吵XX行不行或者YY與ZZ哪個好;
26.請看《程序設計實踐》,並嚴格的按照其要求去做;
27.不要因為C和C++中有一些語法和關鍵字看上去相同,就認為它們的意義和作用完全一樣;
28.C++絕不是所謂的C的「擴充」——如果C++一開始就起名叫Z語言,你一定不會把C和Z語言聯繫得那麼緊密;
29.請不要認為學過XX語言再改學C++會有什麼問題——你只不過又在學一門全新的語言而已;
30.讀完了《Inside The C++ Object Model》以後再來認定自己是不是已經學會了C++;
31.學習編程的秘訣是:編程,編程,再編程;
32.請留意下列書籍:《C++面向對象高效編程(C++ Effective Object-Oriented Software Construction)》《面向對象軟體構造(Object-Oriented Software Construction)》《設計模式(Design Patterns)》《The Art of Computer Programming》;
33.記住:面向對象技術不只是C++專有的;
34.請把書上的程序例子親手輸入到電腦上實踐,即使配套光碟中有源代碼;
35.把在書中看到的有意義的例子擴充;
36.請重視C++中的異常處理技術,並將其切實的運用到自己的程序中;
37.經常回顧自己以前寫過的程序,並嘗試重寫,把自己學到的新知識運用進去;
38.不要漏掉書中任何一個練習題——請全部做完並記錄下解題思路;
39.C++語言和C++的集成開發環境要同時學習和掌握;
40.既然決定了學C++,就請堅持學下去,因為學習程序設計語言的目的是掌握程序設計技術,而程序設計技術是跨語言的;
41.就讓C++語言的各種平台和開發環境去激烈的競爭吧,我們要以學習C++語言本身為主;
42.當你寫C++程序寫到一半卻發現自己用的方法很拙劣時,請不要馬上停手;請儘快將餘下的部分粗略的完成以保證這個設計的完整性,然後分析自己的錯誤並重新設計和編寫(參見43);
43.別心急,設計C++的class確實不容易;自己程序中的class和自己的class設計水平是在不斷的編程實踐中完善和發展的;
44.決不要因為程序「很小」就不遵循某些你不熟練的規則——好習慣是培養出來的,而不是一次記住的;
45.每學到一個C++難點的時候,嘗試著對別人講解這個知識點並讓他理解——你能講清楚才說明你真的理解了;
46.記錄下在和別人交流時發現的自己忽視或不理解的知識點;
47.請不斷的對自己寫的程序提出更高的要求,哪怕你的程序版本號會變成Version 100.XX;
48.保存好你寫過的所有的程序——那是你最好的積累之一;
49.請不要做浮躁的人;
50.請熱愛C++!
百度知道是不是都能解決所有問題
這個不一定的,因為百度知道也是各個網友在上面提問問,熱心的來回答,一般的常見問題都有解答,而且一般也是個人的觀點,難的專業的問題很少有人能回答出來,所以不一定所有的問題都能解決,但是你可以在這裡發動群眾的智慧幫你解決問題。
c語言的公共基礎知識應該怎麼複習啊?
在網上下載:
1.C語言編程寶典
2.C In China
3.百度C語言吧
4.編程中國
5.C語言之家
6.C語言基地
1.C語言初學者入門講座:
2.C/C++頭文件一覽:
3.C/C++中的整型常識:
4.C語言編程技巧匯萃:
5.C高級編程:
6.C語言設計並行處理:
7.C語言常用的三種排序方法總結與探討:
8.關於二十四點遊戲的編程思路與基本演算法:
9.TC中的串口編程:
10.以前常用的攻擊軟體源代碼:
11.DOS遊戲編程21條:
12.C語言圖形處理:
13.點陣的漢字程序:
14.Turbo C點陣圖和BMP點陣圖格式分極及應用:
15.在16色模式下顯示256色及全彩色:
16.有趣的分形學Mandlbrot集圖形的一個C語言實現:
17.C語言常見錯誤小結:
18.C語言編程中的常見問題:
還有
二級C語言考試輔導教程及考點分析
最新等考歷年試題合集免費下載
全國計算機等級考試(等考)指定教材
更多的試題資料你直接去:
參考資料:
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/199249.html