我们正在努力恢复Google Play商店上的Unionpedia应用程序
🌟我们简化了设计以优化导航!
Instagram Facebook X LinkedIn

算法和计算机科学

快捷方式: 差异相似杰卡德相似系数参考

算法和计算机科学之间的区别

算法 vs. 计算机科学

-- 算法(algorithm),在數學(算學)和電腦科學之中,為任何良定义的具體計算步驟的一个序列,常用於計算、和自動推理。精確而言,算法是一個表示爲有限長列表的。算法應包含清晰定義的指令用於計算函數。 算法中的指令描述的是一個計算,當其時能從一個初始狀態和初始輸入(可能爲空)開始,經過一系列有限而清晰定義的狀態最終產生輸出並停止於一個終態。一個狀態到另一個狀態的轉移不一定是確定的。隨機化算法在内的一些算法,包含了一些隨機輸入。 形式化算法的概念部分源自尝试解决希尔伯特提出的判定问题,並在其后尝试定义或者中成形。这些尝试包括库尔特·哥德尔、雅克·埃尔布朗和斯蒂芬·科尔·克莱尼分别于1930年、1934年和1935年提出的遞歸函數,阿隆佐·邱奇於1936年提出的λ演算,1936年的Formulation 1和艾倫·圖靈1937年提出的圖靈機。即使在當前,依然常有直覺想法難以定義爲形式化算法的情況。. 计算机科学用于解决信息与计算的理论基础,以及实现和应用它们的实用技术。 计算机科学(computer science,有时缩写为CS)是系统性研究信息与计算的理论基础以及它们在计算机系统中如何与应用的实用技术的学科。 它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究。计算机科学包含很多分支领域;有些强调特定结果的计算,比如计算机图形学;而有些是探討计算问题的性质,比如计算复杂性理论;还有一些领域專注于怎样实现计算,比如程式語言理論是研究描述计算的方法,而程式设计是应用特定的程式語言解决特定的计算问题,人机交互则是專注于怎样使计算机和计算变得有用、好用,以及随时随地为人所用。 有时公众会误以为计算机科学就是解决计算机问题的事业(比如信息技术),或者只是与使用计算机的经验有关,如玩游戏、上网或者文字处理。其实计算机科学所关注的,不仅仅是去理解实现类似游戏、浏览器这些软件的程序的性质,更要通过现有的知识创造新的程序或者改进已有的程序。 尽管计算机科学(computer science)的名字里包含计算机这几个字,但实际上计算机科学相当数量的领域都不涉及计算机本身的研究。因此,一些新的名字被提议出来。某些重点大学的院系倾向于术语计算科学(computing science),以精确强调两者之间的不同。丹麦科学家Peter Naur建议使用术语"datalogy",以反映这一事实,即科学学科是围绕着数据和数据处理,而不一定要涉及计算机。第一个使用这个术语的科学机构是哥本哈根大学Datalogy学院,该学院成立于1969年,Peter Naur便是第一任教授。这个术语主要被用于北欧国家。同时,在计算技术发展初期,《ACM通讯》建议了一些针对计算领域从业人员的术语:turingineer,turologist,flow-charts-man,applied meta-mathematician及applied epistemologist。 三个月后在同样的期刊上,comptologist被提出,第二年又变成了hypologist。 术语computics也曾经被提议过。在欧洲大陆,起源于信息(information)和数学或者自动(automatic)的名字比起源于计算机或者计算(computation)更常见,如informatique(法语),Informatik(德语),informatika(斯拉夫语族)。 著名计算机科学家Edsger Dijkstra曾经指出:“计算机科学并不只是关于计算机,就像天文学并不只是关于望远镜一样。”("Computer science is no more about computers than astronomy is about telescopes.")设计、部署计算机和计算机系统通常被认为是非计算机科学学科的领域。例如,研究计算机硬件被看作是计算机工程的一部分,而对于商业计算机系统的研究和部署被称为信息技术或者信息系统。然而,现如今也越来越多地融合了各类计算机相关学科的思想。计算机科学研究也经常与其它学科交叉,比如心理学,认知科学,语言学,数学,物理学,统计学和经济学。 计算机科学被认为比其它科学学科与数学的联系更加密切,一些观察者说计算就是一门数学科学。 早期计算机科学受数学研究成果的影响很大,如Kurt Gödel和Alan Turing,这两个领域在某些学科,例如数理逻辑、范畴论、域理论和代数,也不断有有益的思想交流。.

之间算法和计算机科学相似

算法和计算机科学有(在联盟百科)13共同点: 库尔特·哥德尔分布式计算图论計算複雜性理論计算计算几何计算理论艾伦·图灵電子計算機查尔斯·巴贝奇数学数值分析数据结构

库尔特·哥德尔

库尔特·弗雷德里希·哥德尔(Kurt Friedrich Gödel,),出生於奧匈帝國的數學家、邏輯學家和哲學家,维也纳学派(维也纳小组)的成员。其最杰出的贡献是哥德尔不完备定理和连续统假设的相对协调性证明。.

库尔特·哥德尔和算法 · 库尔特·哥德尔和计算机科学 · 查看更多 »

分布式计算

在計算機科學中,分布式计算(Distributed computing),又譯為--。這個研究領域,主要研究分散式系統(Distributed system)如何進行計算。分散式系統是一組電腦,透過網路相互连接傳遞訊息與通訊後并协调它们的行为而形成的系統。组件之间彼此进行交互以实现一个共同的目标。把需要进行大量计算的工程数据分割成小块,由多台计算机分别计算,再上传运算结果後,將結果统一合并得出数据结论的科学。分布式系统的例子来自有所不同的面向服务的架构,大型多人線上遊戲,对等网络应用。 目前常见的分布式计算项目通常使用世界各地上千万志愿者计算机的闲置计算能力,通过互联网进行数据传输(志愿计算)。如分析计算蛋白质的内部结构和相关药物的Folding@home项目,該项目結構庞大,需要惊人的计算量,由一台电脑计算是不可能完成的。虽然现在有了计算能力超强的超级計算機,但這些設備造價高昂,而一些科研机构的经费却又十分有限,藉助分佈式計算可以花費較小的成本來達到目標。.

分布式计算和算法 · 分布式计算和计算机科学 · 查看更多 »

图论

图论(Graph theory)是组合数学的一个分支,和其他数学分支,如群论、矩阵论、拓扑学有着密切关系。图是图论的主要研究对象。图是由若干给定的顶点及连接两顶点的边所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系。顶点用于代表事物,连接两顶点的边则用于表示两个事物间具有这种关系。 图论起源于著名的柯尼斯堡七桥问题。该问题于1736年被欧拉解决,因此普遍认为欧拉是图论的创始人。 图论的研究对象相当于一维的单纯复形。.

图论和算法 · 图论和计算机科学 · 查看更多 »

計算複雜性理論

计算复杂性理论(Computational complexity theory)是理论计算机科学和数学的一个分支,它致力于将可计算问题根据它们本身的复杂性分类,以及将这些类别联系起来。一个可计算问题被认为是一个原则上可以用计算机解决的问题,亦即这个问题可以用一系列机械的数学步骤解决,例如算法。 如果一个问题的求解需要相当多的资源(无论用什么算法),则被认为是难解的。计算复杂性理论通过引入数学计算模型来研究这些问题以及定量计算解决问题所需的资源(时间和空间),从而将资源的确定方法正式化了。其他复杂性测度同样被运用,比如通信量(应用于通信复杂性),电路中门的数量(应用于电路复杂性)以及中央处理器的数量(应用于并行计算)。计算复杂性理论的一个作用就是确定一个能或不能被计算机求解的问题的所具有的实际限制。 在理论计算机科学领域,与此相关的概念有算法分析和可计算性理论。两者之间一个关键的区别是前者致力于分析用一个确定的算法来求解一个问题所需的资源量,而后者则是在更广泛意义上研究用所有可能的算法来解决相同问题。更精确地说,它尝试将问题分成能或不能在现有的适当受限的资源条件下解决这两类。相应地,在现有资源条件下的限制正是区分计算复杂性理论和可计算性理论的一个重要指标:后者关心的是何种问题原则上可以用算法解决。.

算法和計算複雜性理論 · 計算複雜性理論和计算机科学 · 查看更多 »

计算

計算(Calculation)是一種將「單一或多個的輸入值」轉換為「單一或多個的結果」的一種思考過程。 計算的定義有許多種使用方式,有相當精確的定義,例如使用各種算法進行的「算术」,也有較為抽象的定義,例如在一場競爭中「策略的計算」或是「計算」兩人之間關係的成功機率。 將7乘以8(7x8)就是一種簡單的算術。 利用布莱克-斯科尔斯模型(Black-Scholes Model)來算出財務評估中的公平價格(fair price)就是一種複雜的算術。 從投票意向計算評估出的選舉結果(民意調查)也包含了某種算術,但是提供的結果是「各種可能性的範圍」而不是單一的正確答案。.

算法和计算 · 计算和计算机科学 · 查看更多 »

计算几何

计算几何是一门兴起于二十世纪七十年代末的计算机科学的一个分支,主要研究解决几何问题的算法。计算机的出现使得一些问题大幅简化,然而一些人类直观 自从1946年世界上第一台电子计算机问世以来,计算机应用的一个重要里程碑是1962年美国麻省理工学院发明了世界上第一台图形显示器。自此之后,计算机可以通过图形显示器直接输入、输出图形,并且可以在显示屏上通过光标的移动而直接修改图形。而在这之前,工程师是通过一厚叠纸上密密麻麻的数字来间接表达工程图形的。 1962年被认为是美国和欧洲CAD开始发展的一年。首先的应用领域是汽车、飞机和造船工业。这3个行业,由于其产品的外形曲面特别复杂,要求特别苛刻,而成为CAD首先应用的领域。 与此同时,也就发展出了一门新兴学科——计算几何,它在美国常常被称为CAGD(Computer Aided Geometric Design,计算机辅助几何设计),专门研究“几何图形信息(曲面和三维实体)的计算机表示、分析、修改和综合”。1972年在美国举行CAGD第一次国际会议,标志计算几何学科的形成。.

算法和计算几何 · 计算几何和计算机科学 · 查看更多 »

计算理论

计算理论(Theory of computation)是數學的一個領域,和计算机有密切关系。其中的理论是现代密码协议、计算机设计和许多应用领域的基础。该领域主要关心三个方面的问题:.

算法和计算理论 · 计算机科学和计算理论 · 查看更多 »

艾伦·图灵

艾伦·麦席森·图灵,OBE,FRS(Alan Mathison Turing,又译阿兰·图灵,Turing也常翻譯成--林或者杜林,)是英国計算機科學家、数学家、邏輯學家、密码分析学家和理论生物学家,他被视为计算机科学與人工智慧之父。 在第二次世界大战期间,图灵曾在“政府密码学校”(GC&CS,今政府通信总部)工作。政府密码学校位于布萊切利園,是英国顶级机密情报机构。图灵在这里从事密码破译工作,有一段时间,他领导了(Hut 8)小组,负责德国海军密码分析。 期间他设计了一些加速破译德国密码的技术,包括改进波兰战前研制的机器,一种可以找到恩尼格玛密码机设置的机电机器。 图灵在破译截获的编码信息方面发挥了关键作用,使盟军能够在包括大西洋战役在内的许多重要交战中击败纳粹,并因此帮助赢得了战争。 图灵对于人工智能的发展有诸多贡献,例如图灵曾写过一篇名为《》的论文,提問「机器会思考吗?」(Can Machines Think?),作為一种用于判定机器是否具有智能的测试方法,即图灵测试。至今,每年都有试验的比赛。此外,图灵提出的著名的图灵机模型为现代计算机的逻辑工作方式奠定了基础。 图灵是著名的男同性恋者,并因为其性倾向而遭到当时的英国政府迫害,职业生涯尽毁。他亦患有花粉过敏症。 图灵还是一位世界级的长跑运动员。他的马拉松最好成绩是2小時46分03秒(手動計時),比1948年奥林匹克运动会金牌成绩慢11分钟。1948年的一次跨国赛跑比赛中,他跑赢了同年奥运会银牌得主。.

算法和艾伦·图灵 · 艾伦·图灵和计算机科学 · 查看更多 »

電子計算機

--,亦稱--,计算机是一种利用数字电子技术,根据一系列指令指示其自动执行任意算术或逻辑操作序列的设备。计算机遵循被称为“程序”的一般操作集的能力使他们能够执行极其广泛的任务。 计算机被用作各种工业和消费设备的控制系统。这包括简单的特定用途设备(如微波炉和遥控器)、工业设备(如工业机器人和计算机辅助设计),以及通用设备(如个人电脑和智能手机之类的移动设备)等。尽管计算机种类繁多,但根据图灵机理论,一部具有最基本功能的计算机,应当能够完成任何其它计算机能做的事情。因此,理论上从智能手机到超级计算机都应该可以完成同样的作业(不考虑时间和存储因素)。由于科技的飞速进步,下一代计算机总是在性能上能够显著地超过其前一代,这一现象有时被称作“摩尔定律”。通过互联网,计算机互相连接,极大地提高了信息交换速度,反过来推动了科技的发展。在21世纪的现在,计算机的应用已经涉及到方方面面,各行各业了。 自古以来,简单的手动设备——就像算盘——帮助人们进行计算。在工业革命初期,各式各样的机械的出现,其初衷都是为了自动完成冗长而乏味的任务,例如织机的编织图案。更复杂的机器在20世纪初出现,通过模拟电路进行复杂特定的计算。第一台数字电子计算机出现于二战期间。自那时以来,电脑的速度,功耗和多功能性不断增加。在现代,机械计算--机的应用已经完全被电子计算机所取代。 计算机在组成上形式不一,早期计算机的体积足有一间房屋的大小,而今天某些嵌入式计算机可能比一副扑克牌还小。当然,即使在今天依然有大量体积庞大的巨型计算机为特别的科学计算或面向大型组织的事务处理需求服务。比较小的,为个人应用而设计的称为微型计算机(Personal Computer,PC),在中國地區简称為「微机」。我們今天在日常使用“计算机”一词时通常也是指此,不过现在计算机最为普遍的应用形式却是嵌入式,嵌入式计算机通常相对简单、体积小,并被用来控制其它设备——无论是飞机、工业机器人还是数码相机。 同计算机相关的技术研究叫计算--机科学,而「计算机技术」指的是将计算--机科学的成果应用于工程实践所派生的诸多技术性和经验性成果的总合。「计算机技术」与「计算机科学」是两个相关而又不同的概念,它们的不同在于前者偏重于实践而后者偏重于理论。至於由数据为核心的研究則称為信息技术。 传统上,现代计算机包括至少一个处理单元(通常是中央处理器(CPU))和某种形式的存储器。处理元件执行算术和逻辑运算,并且排序和控制单元可以响应于存储的信息改变操作的顺序。外围设备包括输入设备(键盘,鼠标,操纵杆等)、输出设备(显示器屏幕,打印机等)以及执行两种功能(例如触摸屏)的输入/输出设备。外围设备允许从外部来源检索信息,并使操作结果得以保存和检索。.

算法和電子計算機 · 计算机科学和電子計算機 · 查看更多 »

查尔斯·巴贝奇

查尔斯·巴贝奇(;),英国数学家、發明家兼機械工程師。由於提出了差分機與分析機的設計概念(並有部份實做機器),被視為计算机先驱。 1828年至1839年,巴貝奇曾在劍橋大學擔任盧卡斯教授。 除了數學和計算機之外,巴贝奇也是當時重要的經濟學者之一。 他還参与了一些政治活动,但是這方面頗不成功。.

查尔斯·巴贝奇和算法 · 查尔斯·巴贝奇和计算机科学 · 查看更多 »

数学

数学是利用符号语言研究數量、结构、变化以及空间等概念的一門学科,从某种角度看屬於形式科學的一種。數學透過抽象化和邏輯推理的使用,由計數、計算、量度和對物體形狀及運動的觀察而產生。數學家們拓展這些概念,為了公式化新的猜想以及從選定的公理及定義中建立起嚴謹推導出的定理。 基礎數學的知識與運用總是個人與團體生活中不可或缺的一環。對數學基本概念的完善,早在古埃及、美索不達米亞及古印度內的古代數學文本便可觀見,而在古希臘那裡有更為嚴謹的處理。從那時開始,數學的發展便持續不斷地小幅進展,至16世紀的文藝復興時期,因为新的科學發現和數學革新兩者的交互,致使數學的加速发展,直至今日。数学并成为許多國家及地區的教育範疇中的一部分。 今日,數學使用在不同的領域中,包括科學、工程、醫學和經濟學等。數學對這些領域的應用通常被稱為應用數學,有時亦會激起新的數學發現,並導致全新學科的發展,例如物理学的实质性发展中建立的某些理论激发数学家对于某些问题的不同角度的思考。數學家也研究純數學,就是數學本身的实质性內容,而不以任何實際應用為目標。雖然許多研究以純數學開始,但其过程中也發現許多應用之处。.

数学和算法 · 数学和计算机科学 · 查看更多 »

数值分析

数值分析(numerical analysis),是指在数学分析(区别于离散数学)问题中,对使用数值近似(相对于一般化的符号运算)算法的研究。 巴比伦泥板YBC 7289是关于数值分析的最早数学作品之一,它给出了 \sqrt 在六十进制下的一个数值逼近,\sqrt是一個邊長為1的正方形的對角線,在西元前1800年巴比倫人也已在巴比倫泥板上計算勾股數(畢氏三元數)(3, 4, 5),即直角三角形的三邊長比。 数值分析延續了實務上數學計算的傳統。巴比倫人利用巴比伦泥板計算\sqrt的近似值,而不是精確值。在許多實務的問題中,精確值往往無法求得,或是無法用有理數表示(如\sqrt)。数值分析的目的不在求出正確的答案,而是在其誤差在一合理範圍的條件下找到近似解。 在所有工程及科學的領域中都會用到数值分析。像天體力學研究中會用到常微分方程,最優化會用在资产组合管理中,數值線性代數是資料分析中重要的一部份,而隨機微分方程及馬可夫鏈是在醫藥或生物學中生物細胞模擬的基礎。 在電腦發明之前,数值分析主要是依靠大型的函數表及人工的內插法,但在二十世紀中被電腦的計算所取代。不過電腦的內插演算法仍然是数值分析軟體中重要的一部份。.

数值分析和算法 · 数值分析和计算机科学 · 查看更多 »

数据结构

在计算机科学中,数据结构(data structure)是计算机中存储、组织数据的方式。 数据结构意味着介面或封装:一个数据结构可被视为两个函数之间的介面,或者是由数据类型联合组成的存储内容的访问方法封装。 大多数数据结构都由数列、记录、可辨识联合、引用等基本类型构成。举例而言,可為空的引用(nullable reference)是引用与可辨识联合的结合体,而最简单的链式结构链表则是由记录与可空引用构成。 数据结构可透过程式语言所提供的数据类型、引用及其他操作加以实现。一个设计良好的数据结构,应该在尽可能使用较少的时间与空间资源的前提下,支援各種程式執行。 不同种类的数据结构适合不同种类的应用,部分資料結構甚至是為了解決特定問題而設計出來的。例如B树即為加快樹狀結構存取速度而設計的資料結構,常被應用在資料庫和檔案系統上。 正確的数据结构選擇可以提高演算法的效率(請參考)。在電腦程式设计的過程裡,选择适当的数据结构是一項重要工作。许多大型系统的編寫经验顯示,程式設計的困难程度与最终成果的质量与表现,取决于是否选择了最適合的数据结构。 系統架構的关键因素是数据结构而非算法的見解,导致了多种形式化的设计方法与编程语言的出现。绝大多数的语言都带有某种程度上的模块化思想,透过将数据结构的具体实现封装隐藏于使用者介面之后的方法,来让不同的应用程序能够安全地重用这些数据结构。C++、Java、Python等面向对象的编程语言可使用类 (计算机科学)来達到這個目的。 因为数据结构概念的普及,现代编程语言及其API中都包含了多种預設的数据结构,例如 C++ 标准模板库中的容器、Java集合框架以及微软的.NET Framework。.

数据结构和算法 · 数据结构和计算机科学 · 查看更多 »

上面的列表回答下列问题

算法和计算机科学之间的比较

算法有88个关系,而计算机科学有136个。由于它们的共同之处13,杰卡德指数为5.80% = 13 / (88 + 136)。

参考

本文介绍算法和计算机科学之间的关系。要访问该信息提取每篇文章,请访问: