計算機演算法設計
Ⅰ 《計算機演算法設計與分析》到底是學什麼,到底是在
計算機演算法設計與分析的課程,主要是學習計算機裡面的數據如何組織,如何進行處理,很多都是前輩總結的經驗。
Ⅱ 計算機演算法設計的關鍵是什麼
剛看到有人答鴕鳥演算法,的確是個很重要的演算法。
然後就想到了下面這個sorting演算法,雖然不怎麼重要,但是挺有意思的。
我覺得這有可能是我這輩子最喜歡的演算法了:
Sleep Sort
英語差不多的同學可以看一下Quora上的簡介
https://www.quora.com/What-is-sleep-sort
這套演算法是4chan上的某個精神病提出的
以下是代碼:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
int main(int c, char **v)
{
while (--c > 1 && !fork());
sleep(c = atoi(v[c]));
printf("%d\n", c);
wait(0);
return 0;
}
用GCC編譯,運行的時候把你想要sort的東西當成command line arguments送給可執行文件就行了
代碼來源:https://rosettacode.org/wiki/Sorting_algorithms/Sleep_sort
=====以下原答案=====
計算機科學里最重要的演算法就是你覺得最重要的演算法以外的所有演算法。←這是玩笑話
演算法是一整個體系,從divide and conquer,dynamic programming,greedy這樣的基本分類到randomized, linear programming這種奇怪的東西都是演算法體系裡重要的一環。演算法里還有一個大類就是data structure,這些東西環環相關。
初學演算法的同學就是要不斷的接觸,了解,分析這些亂七八糟的東西,最終達到看到不同的結構,不同的需求能夠選擇正確的工具。我的第一個演算法老師曾經這樣說過:there isn't a best algorithm for everything, choose the best tool for your problem
就拿你說的hash來看,你覺得key value pair到處都有用到,就覺得這個演算法最重要,O(1)的best case看起來也很誘人。可是能用的地方到底有多少?database天天用range query你告訴我你庫只有hash index?不能吧,所以B tree是不是很重要?演算法和優化是計算機科學里的一個大項,多少代人的研究成果讓你一個hash最重要給概括了,這樣是不是有種欽定的感覺?
演算法導論多看看,沒事的時候上leetcode做做題,多見識見識不同的演算法是如何應用的,每次選擇一個演算法/數據結構就問問自己為什麼這樣?是hash,是hash先,明明都是hash先來的……key value也好,O(1)也好,還是universal那傢伙也好...怎麼就做不了sssp呢?以後遇上奇怪的程序也不至於懵逼到:我一個linear programming,怎麼就跑maximum cardinality bipartite matching來了呢
至於到底什麼演算法最重要,能用到的都是最重要的,謝謝
Ⅲ 計算機演算法設計與分析
考研培訓 2009年計算機考研專業課輔導課程(視頻)(qq) 2009年計算機考研專業課輔導課程(視頻) http://www.ecity.cn/user/xch/from.asp?id=168&wh=helploving
考研培訓 09年計算機考研專業課輔導視頻總匯(ku6) 包括考試大綱解析,操作系統,數據結構,組成原理,計算機網路,操作系統之銀行家演算法,數據結構之關鍵路徑,計算機網路之子網掩碼,計算機組成原理之流水線,計算機考研學校選擇:名校研究特色,操作系統之生產者消費者問題,操作系統之頁面置換演算法,IO子系統2,文件保護,TCP協議,內存管理,傳輸介質片段,處理機調度演算法,域名系統,計算機網路體系結構與參考模型,樹及二叉樹,流量控制與可靠傳輸,鄰接矩陣鄰接表法,排序的基本概念,圖的基本概念,棧和隊列 http://www.ecity.cn/user/xch/from.asp?id=166&wh=helploving
考研培訓 權威專家指導,協議保證,不上線全額退款 由中科院軟體研究所博士生導師劉教授、清華大學計算機系博士生導師陳教授、北京航空航天大學計算機學院周教授、北京理工大學計算機系王教授、浙江大學計算機學院博士生導師吳教授、中南大學信息科學與工程學院博士生導師陳教授組成的計算機專業考研輔導專家指導委員會,把握計算機研究生專業課程考試方向。 希賽承諾,考試培訓沒有上線,主動聯系全額退款。 http://www.ecity.cn/user/xch/from.asp?id=111&wh=helploving
考研培訓 博士團隊,個性化輔導,與名師實時交流 希賽教育,專業精英領航,實行專業化一對一個性學習培訓計劃,讓你與名師進行直觀的交流,傳道受業,解答疑惑,助你學習路上一路向前。 希賽IT教育研發中心多年對計算機考研專業課考試的跟蹤與分析,能幫助考生更好的通過考試。個性化輔導,家教式服務,名師親自製訂輔導計劃和批改作業。名校師資,無可比擬的博士團隊,命題專家在線輔導。自成體系的輔導資料,使學習更具系統性,復習更具針對性。實時的網路課堂和答疑係統,與名師在線交流。 高質量的模擬試題,詳盡的試題分析與解答,有的放矢地幫助學員備考。萬一沒有上線,還可以全額退款。 http://www.ecity.cn/user/xch/from.asp?id=110&wh=helploving
考研培訓 計算機考研專業課程視頻免費下載大集合 免費大餐,盡情享受,包括考研大綱解析、知識點分析、重難點輔導…… http://www.ecity.cn/user/xch/from.asp?id=149&wh=helploving
考研培訓 2010年計算機考研專業課考試知識點分析:組成原理 2010年仍是計算機專業考研專業基礎課實行全國統考,面對今年的改變,想報考計算機專業的考生可能對復習的准備有很多的疑問。為了幫助考生正確的做好准備工作,希賽網研究生院特訪問了我國著名的計算機教育專家、湖南師范大學計算機軟體與理論/計算機應用技術碩士點專業課試題命題人張友生博士,請張博士對考試大綱進行全面的解析。本文為大綱解析的第三篇:計算機組成原理知識點分析。 http://www.ecity.cn/user/xch/from.asp?id=96&wh=helploving
考研培訓 2009年計算機考研專業課重難點輔導視頻(qq) 2009年計算機考研專業課重難點輔導視頻(qq) http://www.ecity.cn/user/xch/from.asp?id=167&wh=helploving
Ⅳ 計算機的演算法設計和數學的演算法設計有什麼不同
個人覺得微積分與演算法沒啥個關系吧,我同級的那些演算法大神上高數時都紛紛逃課了。演算法,就我知道,主要是要用到離散數學,組合數學之類的,或許還有其它,這些應該比微積分簡單吧。當然,沒學過也沒啥個所謂,因為我自學演算法之前也壓根沒學過這類數學,這類數學只不過使你學演算法時輕松一點,當然直接沒基礎學演算法會讓人痛苦到死
Ⅳ 計算機演算法設計的一道題
計算機,是聰明的。
Ⅵ 計算機演算法設計與分析怎麼樣
這本書作為這個學期的演算法課教材,這才讓我有機會看了下此書,剛看的時候,雲里來霧里去的,看完後,更是無奈。不明白為什麼這樣的書會作為教材,毫無道理。原因如下: 1.書中所講內容大部分出自演算法導論和Levitin的演算法設計與分析基礎(見P86頁講貪心演算法用做舉例的找零問題中的二角五分硬幣,當時看到二角五分硬幣就瞬間無語了.....因為只有米國才有25分的硬幣 = =),有些地方讓人感覺是刪減後照搬過來的,因此讀起來特別費勁,自覺愚鈍,跟不上作者跳躍的思維。 2.講的東西難度適中,當是表達方式實際上給讀者增加了難度。書中經常用a[],b[]這樣的名字來命名所需的數據結構,可見作者絲毫沒有用心在寫書,根本不為讀者著想,無力形式化描述使讀起此書頗有難度。 3.最關鍵的在於書中的演算法代碼。沒有採用偽代碼而採用c++實現本身沒什麼問題,但是代碼的風格實在是不敢恭維。從變數命名上多採用s,k,r之類讓人無語的名字,根本無法清晰表達變數的意思,而且要命的大部分演算法只有很少的注釋或者根本沒有,注釋固然不能太多,但那也是建立在代碼能自文檔化的基礎上的,面對這樣的代碼,只能搖頭。除此之外,書中代碼還出現風格不統一的情況,關於花括弧的使用,一會是K&R風格,一會是懸掛式風格,有時乾脆兩種風格混在同一段代碼中,及其容易誤導他人,使其養成不良的代碼風格。 綜上,要是學演算法的話,這本書並不是很理想,我覺得Levitin的那本演算法設計與分析基礎不錯,而這本只能算不是教材的教材吧.
Ⅶ 計算機 演算法設計題
1.(1)
存在常數c1,f(n)<=c1*s(n)
存在常數c2,g(n)<=c2*r(n)
令常數C=max(c1,c2)
則f(n)+g(n)<=c1*s(n)+c2*r(n)<=C*(s(n)+r(n))=O(s(n)+r(n))
1.(2)
令常數D=c1*c2
則f(n)*g(n)<=c1*s(n)*c2*r(n)=D*s(n)*r(n)=O(s(n)*r(n))
Ⅷ 計算機演算法設計與分析的目錄
第1章演算法概述
1.1演算法與程序
1.2演算法復雜性分析
習題1
第2章遞歸與分治策略
2.1遞歸的概念
2.2分治法的基本思想
2.3二分搜索技術
2.4大整數的乘法
2.5Strassen矩陣乘法
2.6棋盤覆蓋
2.7合並排序
2.8快速排序
2.9線性時間選擇
2.10最接近點對問題
2.11循環賽日程表
習題2
第3章動態規劃
3.1矩陣連乘問題
3.2動態規劃演算法的基本要素
.3.3最長公共子序列
3.4最大子段和
3.5凸多邊形最優三角剖分
3.6多邊形游戲
3.7圖像壓縮
3.8電路布線
3.9流水作業調度
3.100-1背包問題
3.11最優二叉搜索樹
3.12動態規劃加速原理
習題3
第4章貪心演算法
第5章回溯法
第6章分支限界法
第7章隨機化演算法
第8章線性規劃與網路流
第9章NP完全性理論與近似演算法
附錄AC++概要
參考文獻