第一图书网

程序语言的奥妙

杉浦贤 科学出版社
出版时间:

2012-7  

出版社:

科学出版社  

作者:

杉浦贤  

页数:

165  

字数:

180625  

译者:

李克秋  

Tag标签:

无  

内容概要

在我们生活的世界中,各种各样形形色色的事物和现象,其中都必定包含着科学的成分。在这些成分中,有些是你所熟知的,有些是你未知的,有些是你还一知半解的。面对未知的世界,好奇的你是不是有很多疑惑、不解和期待呢?!“形形色色的科学”趣味科普丛书,把我们身边方方面面的科学知识活灵活现、生动有趣地展示给你,让你在畅快阅读中收获这些鲜活的科学知识!
21世纪,飞速发展的计算机技术深入到手机、电视、数码相机、游戏机等的生活必备产品中。计算机都是依靠程序来运行的。为了编写出能够在计算机上运行良好的程序就必须学习计算机算法的知识。《程序语言的奥妙:算法解读》用流程图、程序语言等日常生活中经常出现的事物为工具,以图解的形式讲解了算法的相关知识,即使是不具备计算机知识的初学者,也能够轻松理解。
《程序语言的奥妙:算法解读》适合青少年读者、科学爱好者以及大众读者阅读。

作者简介

李克秋
博士、大连理工大学教授、博士生导师,计算机科学与技术学院副院长。1994年7月和1997年4月分别获大连理工大学应用数学专业学士和硕士学位,2005年9月于日本北陆先端科学技术大学院大学获计算机科学博士学位,2005年10月至2007年9月任日本东京大学外国人特聘研究员,2007年3月被大连理工大学特聘为教授。主要研究方向包括计算机网络、云计算等。已发表论文100余篇,部分成果发表在IEEE TPDS、ACM TOIT、ACMTOMCCA等国际知名杂志上。担任多家国内外学术刊物的编委,包括IEEE TPDS、《计算机学报》等。
2010年获教育部优秀科技成果自然科学二等奖,2011年获得ICA3PP 2011国际会议最佳论文奖、第八届辽宁青年科技奖、第四届大连市青年科技奖。入选2007年教育部新世纪优秀人才支持计划和2011年辽宁省第六批“百千万”人才工程百层次人选。

书籍目录

第1章 什么是算法?001 烹饪用的食谱就是算法002 算法是古老的智慧003 懂得了算法游戏水平会更高004 算法必须满足“有效性”和“终止性”005 算法有很多种类COLUMN 算法的基础—结构化程序设计的思想第2章 变量和数组006 数据是各种各样的信息007 所有的数据都有类型008 值是数值、文字等的具体表现009 变量是放入值的箱子010 变量通过“变量名”区别011 赋值语句有给变量赋值的能力012 变量到变量的代入,是一个变量中的值被存储在另一个变量中013 变量也有数据类型014 连续排列的相同数据类型的元素集合称为数组015 数组用“数组名”区分016 数组的各元素用元素编号辨别017 数组是有效存储相关联数据的储物柜018 二维数组类似宾馆的房间019 数组的各元素通过两个下标标识020 字符串是字符数据的数组021 字符串的字符长度由字符长度变量或“哨兵”管理COLUMN 常用的变量名第3章 数据结构022 实现对大量数据进行高效管理——数据构造023 数据结构有很多种024 如同向上堆书一样的数据结构是栈025 在收银台排队一样的数据结构是等待队列026 用绳子把数据连起来的数据管理方式—链表027 单向链表:从一端开始可以遍历所有数据028 双向链表:从双向开始都可以遍历所有数据029 查找第n个元素时数组比较快,链表比较慢030 插入和删除数据时链表比较快,数组比较慢031 环形缓冲:一旦到达末尾即返回到开头032 二叉树:一个父结点两个子结点组成的结构033 堆:父结点的值不得比子结点的值大的二叉树034 哈希表:数组和链表组合的一种数据结构035 图:结点和边连接的形式COLUMN 从0开始还是从1开始?第4章 基本的算法036 执行循环操作求1~n的和037 使用数组保存数列的值038 用变量求数组元素值的和039 用计数器求数组的有效元素数040 根据数组的各元素和以及元素个数求数组的平均值041 求数组元素的最大值要使用保存最大值的变量042 使用变量保存最小值求数组的最小值043 使用其他的数组存放数组元素的顺序04 4 以秒为单位的时间大小的比较045 求时间差时,将差再表示成时间形式046 利用临时变量交换两个变量的值047 用欧几里得相除法求2个数的最大公约数COLUMN 代码和数据存在哪里?第5章 排序和搜索048 排序是指按照一定规则对元素对象进行排列摆放049 多种多样的排序算法050 把数据放于其他数组(桶)来进行排序的“桶排序”051 从数值的低位开始依次重复桶排序的“基数排序”052 选择最小值(最大值)与排好序的末位交换的“简单选择法”053 相邻数据交换的“简单交换法”(冒泡排序)054 在已排序数据的正确位置插入数据的“简单插入法”055 把数据列按照一定间隔分组而进行排序的“希尔排序”056 把多个排序结果的数列合在一起的“合并”(归并)057 利用归并的算法进行排序的归并排序058 通过与基准数据比较大小并把数列进行二分的“快速排序”059 利用堆的构造进行排序的“堆排序”060 搜索是从多个数据中找出目标数据061 从首位元素开始逐个进行比较处理的“线性查找”062 能够从排好序的数列中快速找出数据的“二分查找”063 在给定字符串中查找指定字符串位置的“字符串查找”064 从不一致字符的位置和局部字符串的结构提高查找效率的KMP法065 从局部字符串的末尾到开头比较字符的BM法COLUMN 利用关系数据库进行排序和查找第6章 其他算法066 通过活用微分来求高次方程式解的牛顿法067 联合方程组的求解方法是高斯消元法068 根据梯形面积的计算求定积分值的梯形法069 用于求最短时间、最短距离之类的最优路径的方法:基于图的迪杰斯特拉法070 判断自然数n是否是素数的“埃拉托色尼筛法”071 利用递归调用求n的阶乘COLUMN 算法和流程图第7章 算法的复杂度072 算法的复杂度中有时间复杂度和空间复杂度073 时间复杂度通过“运算”、“条件比较”、“代入处理”等操作次数来测量074 算法的复杂度用“O 记法”来表示COLUMN 提高编程能力的方法参考文献

章节摘录

版权页: 插图: 数组中存储着大量相关联数据。其中,在一条直线上排列的像储物柜的数组称为一维数组。因为,用一个元素编号就可以指定数组元素。 另外,也有把变量向纵向和横向无缝隙排列的矩形数组,我们称这样的数组为二维数组。甚至还有向水平、垂直、深度三个方向无缝隙排列的立方体的数组,我们称之为三维数组。以此类推,二维数组、三维数组等数组统称为多维数组。 多维数组中的二维数组,被广泛地使用在行和列的大量数据的管理中。例如, 黑白棋游戏中,放在游戏盘中的黑白棋子的管理 以纵轴为年,横轴为月表示商品销售量的电子表格 等情况下,我们通常使用二维数组。想象—下电脑中office办公软件中的电子表格,就能轻松理解二维数组了。 如果每一层的房间数一样,那么由Ⅳ层组成的宾馆房间构造可以认为是二维数组。例如,一层中一共有8个房间、且由5层建成的宾馆房间,是5行8列的变量的集合,因此满足二维数组的条件。这里重要的一点是,每一层的房间数必须是一样的。如果每层的房间数不相同,则不能构成二维数组。总之,二维数组必须是由变量的“箱子”无缝隙地排列成长方体的结果。


编辑推荐

《"形形色色的科学"趣味科普丛书:程序语言的奥妙:算法解读(4色全彩)》编辑推荐:手机、电视、数码相机、游戏机……这些产品都离不开21世纪飞速发展的计算机技术。另外,自动检票机、ATM终端、客户管理、财务管理等各种各样的企业业务,没有计算机的话都是无法实现的。为了编写出能够在计算机上运行良好的程序,就必须学习计算机算法的知识。《"形形色色的科学"趣味科普丛书:程序语言的奥妙:算法解读(4色全彩)》适合青少年读者、科学爱好者以及大众读者阅读。

图书封面

图书标签Tags

广告

下载页面


程序语言的奥妙 PDF格式下载



非常基本的科普书,注意是科普书。不知道为什么在一个技术大牛的blog里面看到,我看的非常快,个人感觉高一高二的小朋友可以看一看,非常生动科普


对于数表、数组、指针的解释太过详细,感觉不是太必要。关于计算实现倒是同一系列里面的“顺序控制”那一本反过来比这一本详细。对于经典算法的解读还是很好的,比如牛顿法解方程什么的。


不错很喜欢,彩色画面 但是为什么我买了就降价.............................................


都是些很基础很基础的东西,像我这种非计算机系毕业没学过高数的人都能够看懂。图文并茂的形式非常好。


我还学电子信息的,买了就没看懂,这不是科普读物。


嗯,还行,书不错不错


算法的学习是思路和逻辑,这本书在这方面写的很有条理。


相关图书