1.1-1.2数据结构与算法
数据结构与算法(Python版)《数据结构》参考答案(A卷)

数据结构与算法(Python版)《数据结构》参考答案(A卷)数据结构与算法是计算机科学中非常重要的基础知识,它们在软件开辟中起着至关重要的作用。
在Python编程语言中,数据结构与算法同样扮演着重要的角色。
本文将介绍数据结构与算法在Python中的应用,匡助读者更好地理解和运用这些知识。
一、数据结构1.1 列表(List)Python中最常用的数据结构之一是列表,它可以存储任意类型的数据,并且支持增删改查等操作。
1.2 字典(Dictionary)字典是另一个常用的数据结构,它以键值对的形式存储数据,可以快速查找和修改数据。
1.3 集合(Set)集合是一种无序且不重复的数据结构,可以进行交集、并集、差集等操作,非常适合处理数学运算。
二、算法2.1 排序算法Python中有多种排序算法可供选择,如冒泡排序、快速排序、归并排序等,每种算法都有其适合的场景和特点。
2.2 查找算法查找算法用于在数据集中查找指定的元素,常见的查找算法有线性查找、二分查找等,可以提高查找效率。
2.3 图算法图算法是一类特殊的算法,用于解决图结构中的问题,如最短路径、最小生成树等,在网络分析和路由规划中有广泛应用。
三、应用实例3.1 数据处理数据结构与算法在数据处理中有着重要的应用,可以匡助我们高效地处理大量数据,如数据清洗、分析和建模等。
3.2 网络编程在网络编程中,我们时常需要使用数据结构与算法来处理网络数据包、路由信息等,确保网络通信的稳定和高效。
3.3 人工智能在人工智能领域,数据结构与算法也扮演着重要的角色,如机器学习算法中的数据预处理、特征选择等。
四、优化技巧4.1 空间复杂度优化在编写代码时,我们应该尽量减少空间复杂度,避免不必要的内存占用,提高程序的运行效率。
4.2 时间复杂度优化算法的时间复杂度直接影响程序的运行速度,我们可以通过选择合适的算法和数据结构来优化时间复杂度。
4.3 算法优化技巧除了选择合适的数据结构和算法外,我们还可以通过优化代码逻辑、减少循环嵌套等方式来提高程序的性能。
数据结构与算法课程总结

本课程的先修可称为离散数学和高级语言程序设计,后续课程为操作系统、数据库系统 原理和编译原理等。
数据结构中的存储结构及基本运算的实现需要程序设计的基本知识和编程能力和经验, 本课程大部分实例和实验均是用 C 语言实现的,故要求叫熟练地掌握 C 语言。 三、选用的教材及参考书
教材选用《数据结构与算法》,大连理工大学出版社,作者郭福顺、廖明宏等。参考书 为《数据结构(C 语言版》,清华大学出版社出版,严蔚敏、吴伟民编著。 四、教学内容
第六章 树 教学要求: 本章目的是二元树的定义、性质、存储结构、遍历、线索化,树的定义、存储结构、 遍历、树和森林与二元树的转换,哈夫曼树及其应用(优化判定过程和哈夫曼编码)等内容。 要求在熟悉这些内容的基础上,重点掌握二元树的遍历算法及其有关应用,难点是使用本章 所学到的有关知识设计出有效算法,解决与树或二元树相关的应用问题。 教学内容 1.树的概念(领会) 1.1 树的逻辑结构特征。 1.2 树的不同表示方法。 1.3 树的常用术语及含义。
大学计算机科学知识点归纳

大学计算机科学知识点归纳1. 计算机科学基础1.1 计算机组成原理- 计算机硬件:CPU、内存、I/O设备、存储器等- 计算机指令:机器指令、汇编指令、高级指令等- 计算机体系结构:冯诺依曼结构、哈佛结构等1.2 数据结构与算法- 线性结构:数组、链表、栈、队列、串等- 非线性结构:树、图、哈希表等- 算法:排序算法、查找算法、图算法等1.3 计算机网络- 网络结构:OSI七层模型、TCP/IP四层模型等- 网络设备:交换机、路由器、网关等1.4 操作系统- 进程管理:进程、线程、进程调度、死锁等- 内存管理:内存分配、回收、虚拟内存等- 文件系统:文件、目录、文件系统结构等- 设备管理:设备驱动、I/O调度等2. 编程语言与编译原理2.1 编程语言- 高级语言:C、C++、Java、Python等- 低级语言:汇编、机器码等2.2 编译原理- 词法分析:词法单元、词法分析器等- 语法分析:语法规则、语法分析树、分析算法等- 中间代码生成与优化:三地址码、SSA等- 目标代码生成:汇编代码、机器代码等3. 软件工程- 软件开发过程:需求分析、设计、编码、测试、维护等- 软件设计模式:面向对象设计模式、架构模式等- 软件项目管理:项目计划、进度控制、风险管理等- 软件质量保证:代码审查、测试策略等4. 数据库系统- 数据库概念:数据模型、实体-关系模型、关系模型等- 数据库设计:范式、E-R图、SQL等- 数据库查询:SQL查询、视图、索引等- 数据库事务:ACID属性、并发控制、故障恢复等5. 人工智能与机器- 人工智能基础:知识表示、推理、搜索算法等- 机器算法:线性回归、决策树、神经网络等- 自然语言处理:分词、词性标注、命名实体识别等- 计算机视觉:图像处理、目标检测、人脸识别等6. 计算机科学其他领域- 并行与分布式系统:进程并发、分布式算法、云计算等- 网络安全:加密算法、防火墙、入侵检测等- 物联网:传感器、嵌入式系统、物联网协议等- 人机交互:用户界面设计、交互技术、虚拟现实等以上是对大学计算机科学知识点的简要归纳,希望对您有所帮助。
数据结构与算法的联系与区别

数据结构与算法的联系与区别数据结构与算法的联系与区别一、数据结构的概念数据结构是指数据对象中元素之间的关系,以及数据元素本身的特点。
它是计算机组织和存储数据的一种方式,直接影响到算法的设计和性能。
1.1 线性数据结构线性数据结构是数据元素之间存在一对一的关系,例如:数组、链表、栈和队列等。
这些数据结构在存储和访问数据时具有一定的规律性。
1.2 非线性数据结构非线性数据结构是数据元素之间存在一对多或多对多的关系,例如:树和图等。
这些数据结构的存储和访问方式相对复杂,需要特殊的算法来处理。
二、算法的概念算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列。
算法通过操作数据结构来实现对数据的操作,并得到预期的结果。
2.1 算法的特性算法具有以下特性:●输入:算法具有输入,可以是零个或多个输入。
●输出:算法至少有一个输出。
●有穷性:算法在有限的步骤内必须终止。
●确定性:算法中每一步的执行必须具有唯一确定的效果。
●可行性:算法的每一步都必须是可行的,即能够通过执行有限次数完成。
三、数据结构与算法的联系数据结构和算法紧密相关,它们互为补充,相互依赖。
3.1 数据结构对算法的影响不同的数据结构适用于不同种类的问题和算法。
选择合适的数据结构能够有效地提高算法的效率。
3.2 算法对数据结构的选择算法的设计基于特定的问题和已有的数据结构。
在算法设计过程中,根据问题的特点选择合适的数据结构是至关重要的。
四、数据结构与算法的区别数据结构和算法虽然有联系,但也存在一些明显的区别。
4.1 抽象层次不同数据结构是对数据的组织和存储方式的抽象,而算法是对解决问题的步骤和过程的抽象。
4.2 解决问题的角度不同数据结构关注如何组织和存储数据,而算法关注如何通过操作数据得出结果。
4.3 面向不同的目标数据结构的目标是提供高效的存储和访问数据的方式,而算法的目标是寻求有效的解决问题的方法。
附件:本文档未涉及任何附件。
法律名词及注释:无。
国家计算机二级考试公共基础知识教材

国家计算机二级考试公共基础知识教材公共基础知识总结之第一章数据结构与算法 (1)公共基础知识总结之第二章程序设计基础 (4)公共基础知识总结之第三章软件工程基础 (5)公共基础知识总结之第四章数据库系统 (8)公共基础知识总结之第一章数据结构与算法第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
计算机科学导论数据结构与算法

1. 数据结构概述 1.4 算法及其描述和算法分析
5、算法与数据结构的关系: • 计算机科学家沃斯(N.Wirth)提出的:
“算法+数据结构=程序” 揭示了程序设计的本质:对实际问题选择一种好的数据结构,加上设计一个好的算法,而好的算法很大 程度上取决于描述实际问题的数据结构。算法与数据结构是互相依赖、互相联系的。 • 一个算法总是建立在一定数据结构上的;反之,算法不确定,就无法决定如何构造数据。
2020/12/8
1. 数据结构概述
1.4 算法及其描述和算法分析 2、算法的描述: 1)流程图 2)伪代码——类程序设计语言 3、算法的基本结构 : 1)顺序结构 2)分支结构 3)循环结构
2020/12/8
1. 数据结构概述
开始
开始
开始
处理步骤1
处理步骤1
处理步骤1
处理步骤2
…
符合条件
分支条件
链表是通过一组任意的存储单元来存储线性表中的数据元素的,为建立起数据元素之间的关 系,对每个数据元素ai,除了存放数据元素的自身的信息ai之外,还需要和ai一起存放其后继ai+1所 在的存贮单元的地址,这两部分信息组成一个“节点”。
2020/12/8
2. 线性结构
2.1 线性表
3.线性表的链式表示和实现
– (1) 对所加工的对象进行逻辑组织 – (2) 如何把加工对象存储到计算机中去 – (3) 数据运算 数据结构正是讨论非数值类问题的对象描述、信息组织方法及其相应的操作 [例5-1] 设有一个电话号码薄,有N个人的姓名和电话号码。要求设计一个程序,按人名查找号码, 若不存在则给出不存在的信息。
Data-Structure=(D,R) 其中,D是数据元素的有限集,R是D上关系的有限集。
数据结构与算法教学大纲

《数据结构与算法》课程教学大纲一、《数据结构》课程说明(一)课程代码:(二)课程英文名称:Data Stucture(三)开课对象:电子专业的本科生(四)课程性质:专业基础课《数据结构》是计算机专业的技术基础课。
主要讲述算法设计和数据结构的基础原理和技术。
是计算机科学与技术专业的核心课程。
由于本课程是计算机程序设计理论基础,所以也是非计算机理工类专业的重要选修课程。
本课程的学习过程也是算法设计的技巧和能力的训练过程。
本课程的先导课程为《C语言》,《计算机基础》。
(五)教学目的:通过本课程的学习,使学生深透地理解数据结构的逻辑结构和物理结构的基本概念以及有关算法,培养基本的、良好的程序设计技能,编制高效可靠的程序,为学习《操作系统》、《编译原理》和《数据库》等课程奠定基础。
(六)教学内容:本课程主要包括绪论、线性表、树型结构、图、查找、排序等几个部分。
通过教学的各个环节使学生达到各章中所提的基本要求。
习题课是重要的教学环节,教师必须予以重视。
(七)学时数、学分数及学时数具体分配学时数: 68学时学分数: 4学分(八)教学方式以多媒体教学手段为主要形式的课堂教学。
(九)考核方式和成绩记载说明考核方式为考试。
严格考核学生出勤情况,达到学籍管理规定的旷课量取消考试资格。
综合成绩根据平时成绩和期末成绩评定,平时成绩占20% ,期末成绩占80% 。
二、讲授大纲与各章的基本要求第一章绪论教学要点:通过本章的教学使学生初步了解《数据结构》的内容和目的,掌握数据结构的概念以及分类、抽象数据类型的表示与实现、算法的概念、算法的特性、算法的目标、算法效率的度量、算法的存储空间需求。
1、使学生准确掌握数据结构的概念。
2、使学生领会抽象数据类型的表示与实现。
3、使学生充分理解算法的概念。
4、明确算法的特性。
5、明确算法的目标。
6、熟练地掌握算法效率的度量。
7、掌握算法的存储空间需求。
教学时数:4学时教学内容:第一节数据结构概述第二节数据结构的概念一、基本概念二、数据结构及分类三、数据结构课程的内容第三节数据类型和抽象数据类型一、数据类型二、抽象数据类型第四节算法和算法分析考核要求:1、数据结构概述(识记)2、数据结构的概念2.1基本概念(识记)2.2数据结构及分类(识记)2.3数据结构课程的内容(识记)3、数据类型和抽象数据类型3.1数据类型(领会)3.2抽象数据类型(领会)4、算法和算法分析(应用)第二章线性表教学要点:通过本章的教学使学生初步了解线性表的结构特点;掌握顺序的和链式的存储结构各自特色;熟练掌握线性表的操作,以及链表的指针运算和各种链表的操作;理解循环链表以及双向链表。
数据结构与算法的联系与区别

数据结构与算法的联系与区别
数据结构与算法的联系与区别
一、数据结构的定义与特点
1.1 数据结构的定义
数据结构是指数据元素和相互之间的关系,以及在数
据元素上定义的操作集合。
1.2 数据结构的特点
1) 数据结构是一种抽象的概念,它与具体的编程语言
无关。
2) 数据结构是研究数据的功能与性能的。
3) 数据结构关注数据元素的逻辑关系和物理存储关系。
二、算法的定义与特点
2.1 算法的定义
算法是指解决特定问题的一系列操作步骤的有穷序列。
2.2 算法的特点
1) 算法具有输入、输出和确定性。
2) 算法的执行必须能在有限时间内完成。
3) 算法能够解决特定问题。
三、数据结构与算法的联系
3.1 数据结构为算法提供基础支持
数据结构可以为算法提供合适的数据组织方式,使得
算法执行更加高效。
3.2 算法在数据结构上操作
算法通过对数据结构的操作来实现特定的功能和任务。
四、数据结构与算法的区别
4.1 数据结构的重点在于数据的组织和存储
数据结构关注的是数据的逻辑关系和物理存储方式。
4.2 算法的重点在于解决问题的步骤和过程
算法关注的是解决问题的具体操作步骤和执行过程。
附件:
本文档无附件。
法律名词及注释:
本文档中不包含法律名词及注释。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第26页
例:
void cmatrix(int a[][],int M,int N,int d)
for(int i=0;i<M;i++)
for(int j=0;j<N;j++)
a[i][j]*=d; } 算法的时间复杂度: O(M*N)
平均时间复杂度: A(n)= (n+1)/2
第22页
(2)最坏情况复杂性:最坏时间复杂度 P6
定义: 讨论算法在最坏情况下的时间复杂度,即分析 最坏情况下以估计出算法执行时间的上界。 如无特殊说明,所讨论的各算法的时间复杂度 均指最坏情况下的时间复杂度。
最坏时间复杂度: W(n)=n+1
第23页
例如: 算法语句
总执行次数:Tn=4n+5
第17页
算法的时间复杂度
一个特定算法的工作量的大小,只依赖于问题的规模(通常 用整数量n表示),或者说,它是问题规模的函数。
假如,随着问题规模 n 的增长,算法执行时间的增长率 和 f(n) 的增长率相同,则可记作: T (n) = O(f(n)) 称T (n) 为算法的(渐近)时间复杂度, 简称时间复杂度。
第31页
数据元素(Data Element) 定义:
在数据处理中,每一个需要处理的对 象都可以抽象成数据元素。 简单情况下:
18、11、35、23、16… 春、夏、秋、冬 父亲、儿子、女儿
第32页
复杂情况下
一个数据元素由一个或多个数据项 组成,数据项是有独立含义的最小单位。 在计算机中通常作为一个整体进行考虑 和处理。例如: 数据项
一般情况下,随n的增大,算法执行时间的增长较慢的 算法为最优算法。
第18页
例如给出X=X+1
作为基本运算
(1)x=x+1 ;时间复杂度为O(1),称为常量阶; (2)for (i=1; i<= n; i++) x=x+1; 时间复杂度为O(n),称为 线性阶; (3)for (i=1; i<= n; i++) for (j=1;j<= n; j++) x=x+1; 时间复杂度为O(n2), 称为 平方阶。
学 号 姓 名 性 别 籍贯 101 赵虹玲 女 河北 ... ... ... ... 出生年月 1983.11 ... 住址 北京 ...
求。其次,对算法是否“正确”的理解可以有以下四个层次:
a.程序中不含语法错误;
b.程序对于几组输入数据能够得出满足要求的结果;
c.程序对于精心选择的、典型、苛刻且带有刁难性的几组输 入数据能够得出满足要求的结果;
d.程序对于一切合法的输入数据都能得出满足要求的结果;
通常以第 c 层意义的正确性作为衡量一个算法是否合格的
分析:
不是针对实际执行时间的精确地算出算法 执行具体时间,而是针对算法中基本运算的执 行次数做出估计,从中得到算法执行时间的信 息。
第16页
语句频度
定义: 语句频度是指该语句在一个算法中重复执行的 次数。
1 输入N 2 S=1 3 I=1 4 WHILE I<=N 5 S=S*I 6 I=I+1 7 WEND 8 输出 Str(S) 对应的语句频度 1 1 1 n+1 n n n 1
第12页
高效率与低存储量需求
通常,效率指的是算法执行时间;存储量指的是 算法执行过程中所需的最大存储空间,两者都与问题的 规模有关。
第13页
对算法作性能评价
评价算法的标准: 评价一个算法主要看这个算法所占 用机器资源的多少,而这些资源中时间 代价与空间代价是两个主要的方面,通 常是以算法执行所需的机器时间和所占 用的存储空间来判断一个算法的优劣。 有关数量关系计算
例如冒泡排序算法
void bubble(int a[], int length) {将a中整数数组重新排序,达到 递增有序} int i=0, j, temp;
{ temp= a[j]; a[j]=a[j+1]; a[j+1]=temp; change=true; }
int change ;
do{ change=false ;
第27页
算法的空间复杂度
定义:
用空间复杂度作为算法所需存储空间的量度, 记做: S(n)=O(f (n))
表示随着问题规模 n 的增大,算法运行所需存储量的 增长率与 f(n) 的增长率相同。
第28页
算法的存储量包括: 1.输入数据所占空间 3.辅助变量所占空间 若输入数据所占空间只取决于问题本身,和算法 无关,则只需要分析除输入和程序之外的辅助变量所 占额外空间。 若所需额外空间相对于输入数据量来说是常数,则 称此算法为原地工作。 若所需存储量依赖于特定的输入,则通常按最坏 情况考虑。
标准。
第11页
可读性
算法主要是为了人的阅读与交流,其次才是为计算机执
行,因此算法应该易于人的理解;另一方面,晦涩难读的程
序易于隐藏较多错误而难以调试。
健壮性
当输入的数据非法时,算法应当恰当地作出反映或进行相 应处理,而不是产生莫名奇妙的输出结果。并且,处理出错 的方法不应是中断程序的执行,而应是返回一个表示错误或 错误性质的值,以便在更高的抽象层次上进行处理。
设计思想 算法 程序
第4页
设计思想
输入一个自然数N,计算 1*2*3*……*N,输出其结果。
第5页
算法:
1.
2.
3. 4. 5. 6. 7. 8. 9.
定义三个整型变量S、I、N 输入N的值 分别给S、I赋初值,S←1,I←1 若I的值小于等于N,执行第5步;否则执行 第8步 S←S*I I←I+1 返回第4步 输出结果S 结束
第14页
有关数量关系计算
数量关系评价体现在时间——时间复杂度 数量关系评价体现在空间——空间复杂度 关于算法执行时间 语句频度 算法的时间复杂度 数据结构中常用的时间复杂度频率计数 最坏时间复杂度 算法的空间复杂度
第15页
关于算法执行时间
定义: 一个算法的执行时间大致上等于其所有语 句执行时间的总和,对于语句的执行时间是 指该条语句的执行次数和执行一次所需时间 的乘积。
46 12 15 58 22 35 28 25 6 18 60
利用有序表进行对分查找:
1 2
6
3
4
5
6
7
8 9 10 11
12 15 18 22 25 28 35 46 58 60
第36页
数据结构(Data Structure)
一般情况下: 数据结构是指在具有相同特征的数据元素 的集合中,各数据元素之间存在某种特定关系。 这种关系反映了该集合中的数据元素所固有的 一种结构,即数据的组织形式。 例如表结构:
第34页
数据结构主要研究的问题 数据集合中各数据元素之间所固有的 逻辑关系,即逻辑结构; 在对数据进行处理时,各数据元素在 计算机中的存储关系,即数据的存储 结构; 对各种数据结构进行的运算。 主要目的:提高效率(时间、空间)
第35页
利用无序表进行顺序查找:
1 2 3 4 5 6 7 8 9 10 11
第19页
常用的时间复杂度频率计数
数据结构中常用的时间复杂度频率计数有7个:
O(1) 常数型 O(n)线性型 O(n3)立方型 O(2n)指数型 O(nlog2n)二维型
O(n2)平方型 O(log2n)对数型
第20页
int SeqSearch(RecordList l, KeyType k) /*在顺序表l中顺序查找其关键字等于k的元素, 若找到,则函数值为该元素在表中的位置,否 则为0*/ { l.r[0].key=k; i=l.length; while (l.r[i].key!=k) i--; return(i); }
学 号 101 ... 姓 名 赵虹玲 ... 性 别 女 ... 籍贯 河北 ... 出生年月 1983.11 ... 住址 北京 ...
数 据 元 素
例如:一次借书、一次球赛等
第33页
数据集合 具有某种公共特性的数据元素的集合。 如:季节名集合、家庭成员集合、整数集 合、学生集合、某运动场“比赛”集合 等 数据处理 对数据集合中的各元素以各种方式进行 的运算,包括插入、删除、查找、更改等运 算。
第7页
算法的特性
1. 可行性:算法中的所有操作都必须足够基本,都可以通 过已经实现的基本操作运算执行有限次而完成。 2. 确定性:算法中的每一个步骤必须有确定含义,无二 义性。 3. 有穷性:对于任意一组合法输入值,在执行有穷步骤之 后一定能结束,即: 算法中的每个步骤都能在有限时间内完成。 4. 输 入: 有多个或0个输入 5. 输 出: 至少有一个或多个输出。
第29页
2.程序本身所占空间
1.2 数据结构的基本概念(定义) 数据结构的相关名词: 数据 数据元素 数据集合 数据处理 数据结构
第30页
数据(Data)
定义:
数据是描述客观事物的数值、字符以及能 输入机器且能被处理的各种符号集合。 数据包含整型、实型、布尔型、图象、字 符、声音等一切可以输入到计算机中的符号集 合。
第2页
算法、语言、程序的关系 1. 算法:描述了数据对象的元素之间的关系(包
括数据逻辑关系、存贮关系描述)。
2. 语言:描述算法的工具,算法可用自然语言、
框图或高级程序设计语言进行描述。
3.程序:是算法在计算机中的实现,会受到语言