引言 在学习了python的基本语法知识之后,我们接下来将学习一些高级的知识——数据结构与算法。今天我们开始第一节课,为大家简单介绍这门课,同时回答大家心里对这门课的疑惑。 一、 什么是数据结构?什么是算法?为什么要学习它们? 首先是数据结构,我们所说的数据结构大致又被细分为数据和结构两大块 数据:客观事物的符号表示,是所有能输入到计算机中并能被计算机程序处理的符号的总称。如:1、数学计算中用到的整数和实数;2、文本编辑中用到的字符串;3、多媒体程序处理的图形、图像、声音及动画等通过特殊编码定义后的数据。 结构:由组成整体的各部分的搭配和安排。生活中关于“结构”我们经常见到,如:一棵大树可分为树干、枝丫和树根,河流、马路的结构同理也可这样划分;当然这是在我们身边显而易见的事物,除此之外如公司里面的职位也是一种结构,如图: 在数据结构当中我们有几种常见的结构: 接着是算法,算法定义:一个有穷的指令集,这些指令为解决某一特定任务规定了一个运算序列. 算法的描述方式可以是自然语言、流程图、程序设计语言、伪码。 算法的特性: 输入 有0个或多个输入 输出 有一个或多个输出(处理结果) 确定性 每步定义都是确切、无歧义的 有穷性 算法应在执行有穷步后结束 有效性 每一条运算应足够基本 对于算法的评价:1、正确性;2、可读性;3、健壮性;4、高效性(运行所需的时间和空间代价) 在讲解完数据结构与算法之后相信大家对它有了基本的认识,有些人可能会说我没什么要学习数据结构与算法呢? 二、 为什么要学习算法? 高级算法工程师在社会上是供不应求,所以这第一点学习算法可以让我们找到一个高薪的工作; 面对参加本专业研究生考试的在校大学生而言,数据结构在总分中占的比重高; 打比赛,比如最近华为公司的2019华为软件精英挑战赛,面对这样的大型比赛,数据结构和算法是参赛选手的重量级武器。 三、 怎么学习这门课程? 我们可以通过很多渠道去学习这门课程,但是想要精通这门课程最重要的还是小伙伴们在空余时间上坚持练习,同样也可以在网上去找题来做。 今天对数据结与算法的基本认识就到这里了,希望大家多多关注之后会更新下一期的内容。 |
|