算法与数据结构的初步认识(小记)

-------算法---------
算法可大致分为基本算法、数据结构的算法、数论与代数算法、计算几何的算法、图论的算法、动态规划以及数值分析、加密算法、排序算法、检索算法、随机化算法、并行算法、厄米变形模型、随机森林算法。

欧几里得算法(碾转相除法)被人们认为是史上第一个算法。

形式化算法的概念部分源自尝试解决 希尔伯特提出的 判定问题,并在其后尝试定义有效计算性或者有效方法中成形。这些尝试包括库尔特·哥德尔、Jacques Herbrand和斯蒂芬·科尔·克莱尼分别于1930年、1934年和1935年提出的递归函数,阿隆佐·邱奇于1936年提出的λ演算,1936年Emil Leon Post的Formulation 1和艾伦·图灵1937年提出的 图灵机。即使在当前,依然常有直觉想法难以定义为形式化算法的情况。
因为"well-defined procedure"缺少数学上精确的定义,19世纪和20世纪早期的数学家、逻辑学家在定义算法上出现了困难。20世纪的英国数学家图灵提出了著名的图灵论题,并提出一种假想的计算机的抽象模型,这个模型被称为图灵机。图灵机的出现解决了算法定义的难题,图灵的思想对算法的发展起到了重要作用。


-------数据结构--------

1968年,美国的高德纳(DonaU E. Knuth)教授在其所写的《计算机程序设计艺术》第一卷《基本算法》中,较系统地阐述了数据的逻辑结构和存储结构及其操作, 开创了数据结构的课程体系。同年,数据结构作为一门独立的课程,在计算机科学的学位课程中开始出现。也就是说,那之后计算机相关专业的学生开始接受《数据结构》的“折磨”其实应该是享受才对。之后,70年代初,出现了大型程序,软件也开始相对独立,结构程序设计成为程序设计方法学的主要内容,人们越来越重视“数据结构”。


数据的逻辑结构和存储结构

逻辑结构:集合结构、线性结构、树形结构、图状结构
存储结构:顺序存储结构、链式存储结构


希尔伯特提示的第16个问题:代数曲线和曲面的拓扑研究

你可能感兴趣的:(数据结构与算法)