跳转至

数据结构与算法

数据结构与算法是讲什么的课?

首先,这是一门关于编程的课,学了Python语言基础之后的进阶课,但又不仅仅讲编程。本课为你展示如何把数据组织起来,进行有效的处理以解决问题 。

数据为什么这么重要?数据结构与算法是讲什么的课?

信息时代就是数据的时代,人类在各个领域的生产生活 ,无时不刻在产生着巨量的数据。

数据化的科学、技术、工程、应用

医学活检:研究、疾病、治疗

DNA测序:海量的数据信息

整个世界就是数据及其算法。 --尤瓦尔 ·赫拉利:《未来简史》

重要的信息数据

红岸基地:数据之桥,通向宇宙

人们在生活、生产、学习、探索、创造过程中会遇到各种未知的事物

(1)DNA是什么?

(2)这种草(虫子)可以吃么?

(3)什么是无理数?什么是万物的起源?

(4)人们在生活、生产、学习、探索、创造过程中会遇到各种未知的事物。

(5)为什么会下雨?

(6)为什么食物放久了会发霉?

(7)什么是无理数?

(8)生命的意义是什么?

(9)怎么让粮食长得更多?

(10)怎么求最大公约数?

(11)怎么维护公平与正义?

问题求解的计算之道

如何从未知到已知,可以使用感觉、经验、占卜、求神;也可以使用逻辑、数学、实验工程、计算模拟、仿真。

有些问题已经解决,很多问题尚未解决,有些问题似乎无法完全解决,尚未解决和无法解决问题的共性。表述含混、标准不一、涉及主观、结果不确定

数学:解决问题的终极工具

在长期的发展过程中,人们把已经解决的问题逐渐表述为数学命题与模型

尚未解决的问题,人们试图通过数学建模,采用数学工具来解决;无法解决的问题,人们试图转换表述、明晰问题来部分解决。

数学具有清晰明确的符号表述体系,严密确定的推理系统。

但正如科学不是万能的,数学也不是万能的。

有些问题天然无法明确表述(主观、价值观、意识形态、哲学问题等);有些可明确表述的问题仍然无法解决。

20世纪20年代,为了解决数学本身的可检验性问题,希尔伯特提出:“能否找到一种基于有穷观点的能行方法,来判定任何一个数学命题的真假。”

基于有穷观点的能行方法,包括:

由有限数量的明确有限指令构成;

指令执行在有限步骤后终止;

指令每次执行都总能得到唯一结果;

原则上可以由人单独采用纸笔完成,而不依靠其它辅助;

每条指令可以机械地被精确执行,而不需要智慧和灵感。

20世纪30年代,几位逻辑学家各自独立提出了几个关于“计算”的数学模型:

哥德尔和克莱尼的递归函数模型

丘奇的 Lambda演算模型

波斯特的Post机模型

图灵的图灵机模型