写给大家看的算法

第1章 什么是算法
第2章 变量和数组
第3章 数据结构
第4章 学习算法基础
第5章 排序算法
第6章 搜索算法
第7章 其他算法
第8章 算法和计算机

第1章 什么是算法

  1.1 算法其实就在身边

  1.2 算法是人类智慧的结晶

  1.3 了解算法对玩游戏有帮助吗?

  1.4 算法有两个必要条件

  1.5 要特别了解的重要算法

  专题1 算法基础之结构化编程思想

第2章 变量和数组

  2.1 所谓"数据",就是各种各样的信息

  2.2 数据有不同的类型

  2.3 最基础的数据是"值"

  2.4 装着"值"的盒子叫作"变量"

  2.5 要描述算法,变量是不可或缺的

  2.6 所谓"代入",指的是把数据赋予变量

  2.7 不同的变量有不同的名称

  2.8 变量命名要能解释变量装载的数据

  2.9 把数据代入变量的赋值语句

  2.10 把变量中存储的值代入其他变量

  2.11 变量也有数据类型

  2.12 保存大量同一数据类型值的"数组"

  2.13 数组用"数组名"标记

  2.14 数组的元素用"下标"管理

  2.15 什么时候需要用到"数组"呢

  2.16 "数组"就像储物柜一样

  2.17 "二维数组"就像是旅馆里的房间

  2.18 二维数组的各个元素用两个下标来管理

  2.19 字符串就是字符的连续拼合(数组)

  2.20 获取字符串长度的两个方法

  专题2 常用变量命名

第3章 数据结构

  3.1 为了高效处理大量数据

  3.2 有那些常用的数据结构

  3.3 "堆栈"类似于桌面上堆积的书

  3.4 "队列"就像是超市收银台前排着的队列

  3.5 "链表"就像用绳子串起来的长串

  3.6 只能检索下一个数据的单向链表

  3.7 能检索上一个或者下一个数据的双向链表

  3.8 能快速定位第N个数据的是"数组"

  3.9 能快速插入,删除数据的是"链表"

  3.10 像钟表一样数据首尾相连的是"环形缓冲区"

  3.11 管理有树干,树枝,树叶一样关系的数据的是"树"

  3.12 一个父节点对应两个子节点的是"二叉树"

  3.13 像笔画的节点和连线组成的数据结构是"图"

  专题3 为什么数组的起始下标有时是0,有时又是1?

第4章 学习算法基础

  4.1 循环处理是算法的基础

  4.2 计算1~N的整数的总和

  4.3 使用数组可以高效地处理大量数据

  4.4 计算一年的营业额

  4.5 求班级考试的总分和平均分

  4.6 求最高分

  4.7 求最低分

  4.8 为考试成绩排名

  4.9 求全班学生不同科目考试合计的总分

  4.10 求"时分秒"形式的时间差

  4.11 交换两个变量值的技巧

  4.12 求两个数值的最大公约数

  专题4 2038年的时候要留心

第5章 排序算法

  5.1 排序是指对多个数据排列顺序

  5.2 关于排序算法

  5.3 使用"木桶"辅助的"桶排序"

  5.4 每次找出一个最小(最大)值的"选择排序"

  5.5 像冒泡一样进行相邻数据的交换的"冒泡排序"

  5.6 向有序数据里正确位置插入数据的"插入排序"

  5.7 把几个有序数据合并叫作"归并"

  5.8 利用归并进行排序的算法叫做"归并排序"

  5.9 改进了排序效率的"希尔排序"

  5.10 最快的排序算法"快速排序"

  专题5 把2的n阶乘的值记下来吧

第6章 搜索算法

  6.1 所谓"搜索",就是从数据集合中找到目标数据

  6.2 从头开始按顺序排除的搜索叫作"线性搜索"

  6.3 可以进行高速搜索的"二分搜索"

  6.4 利用哈希表实现高效搜索

  6.5 在字符串中搜索部分字符串的"字符串搜索"

  6.6 高效搜索字符串的KMP算法

  6.7 逆向比较的BM字符串搜索算法

  专题6 在关系型数据库中使用到的排序和搜索

第7章 其他算法

  7.1 用牛顿法求解高次方程

  7.2 用高斯消元法求解方程组

  7.3 用梯形面积和来求解定积分的梯形法

  7.4 计算质数的埃拉托斯特尼筛法

  7.5 执行时调用自身的递归函数

  专题7 算法和流程图

第8章 算法和计算机

  8.1 计算机的数据是用二进制来表示的

  8.2 让二进制数更易于阅读(八进制,十六进制)

  8.3 二进制转换成十进制

  8.4 十进制转换成二进制

  8.5 用二进制表示负整数

  8.6 逻辑或:任意一个为"1"则结果为"1"

  8.7 逻辑并:同时为"1"则结果为"1"

  8.8 "或非":"1"和"0"得到的结果为"1"

  8.9 "否定":"1"变为"0","0"变为"1"

  8.10 使用德摩根定律可以管理否定范式

原文地址:https://www.cnblogs.com/revoid/p/9569284.html

时间: 2024-12-20 06:29:16

写给大家看的算法的相关文章

写给自己看的模板

这是写给自己看的模板……当然有需要的人也可以直接拿走 1.封装好的高精度模板 注意:算法的主要耗时在于高精度乘法.除法和乘方.其中高精度乘方有快速幂优化,常数大致是乘法的5~10倍.除法是用二分写的效率较低,大概是乘法的20~30倍,能不用尽量不用 #define mx 300 struct gaojing{ int len; int a[mx+10]; }zero,one; inline void set0(gaojing &s)//高精清零 { s.len=1; for (int i=1;i

苹果发布新一代编程语言Swift,边写代码边看结果,Apple Swift 简介

每年进入夏至前一个月,便是各高校毕业生的忙碌的季节-毕业论文,经非权威的调查显示,有近百分之九十的学生不到三十天就完成了论文的写作,更有百分之四十五的人不到十天就完成了毕业论文的写作,由此声音:这毕业论文在这么短的时间内完成质量高吗?对毕业后的工作有大的价值吗,工作单位会在乎毕业论文的质量吗? 因此得观点:毕业论文要不要写? 对于很多即将毕业的同学来说,毕业论文做的好与坏结果都是同样的毕业证,实在没有必要花太多的精力,通过万岁,一切只是为了顺利毕业."如果毕业论文不是跟学位证挂钩的话,我想以大多

读书笔记:《写给大家看的设计书》

读书笔记:<写给大家看的设计书> <写给大家看的设计书>这本书本来是买给孩子看的,孩子对板报.杂志.名片等设计很感 兴趣,想看点基础的设计类的书籍,就给她找了一本.书到手后,我随手翻了翻发现对于我制作PPT还是很有帮助的,对于非专业设计人员来说,掌握4条设计原 则确实可以让设计感觉到非常专业,这几条原则应用于网站的设计也是同样有效. 全书三大部分,共14章,第一部分(第1-8章)最有用,讲述四大设计原则,第二部分(第9-11章)讲字体设计,第三部分有点像附录. 第一章 约书亚树 有

JDK自带的二分查找算法和自己写的普通二分查找算法的比较(java二分查找源代码)

一.描述 解析和比较JDK自带的二分查找算法和自己写的普通二分查找算法,使用二进制位无符号右移来代替除2运算,并使用产生随机数的方法产生一定范围的随机数数组,调用Arrays类的sort()静态方法,对int类型数组进行排序. Math.random()的用法:会产生一个[0,1)之间的随机数(注意能取到0,不能取到1),这个随机数的是double类型,要想返回指定范围的随机数如[m,n]之间的整数的公式:(int)(Math.random()*(m-n+1)+m) 二.源代码 <span st

写给大家看的面向对象编程书(摘要)

一,几乎没有哪个类可以独立地存在.在大多数情况下,如果一个类不会与其他类交互,那么根本没有理由构建它. 二,实际上,OO开发中没有全局数据.静态属性和方法会子同一个类的所有对象间共享,但是其他类的对象是无法访问的. 三,要不惜一切代价避免改变公共接口,如果对公共接口做了修改,就会导致使用该接口的所有系统产生涟漪效应. 四,要通过网络发送一个对象(例如,通过网络发送到一个文件),系统必须展开这个对象,通过网络发送,然后在网络另一端重新合成.这个过程称为串行化(serializing)一个对象.通过

《写给大忙人看的java se 8》笔记

现在才来了解java8,是不是后知后觉了点? 新的编程技术,个人不喜欢第一时间跟进. 待社区已有实践积淀再切入似乎更划算些? 一点点精明的考虑. 不多说,上代码. //读<写给大忙人看的java se 8>做的笔记代码 //希望对忙到连这书都没工夫看的你,匆匆一瞥,留下印象 //祝编程愉快 public class MainTest { //第一章,讲lambda表达式 //lambda表达式类似javascript的函数字面量,可用于替代java的匿名内部类 //基本型为 (形参列表)-&g

写给大家看的设计书——读后笔记

<写给大家看的设计书>介绍了设计的四个基本原则:亲密性.对齐.重复.对比.作为一个软件"设计师",我也来聊聊读过这本书之后,我对这四个原则的一点理解. 亲密性 亲密性原则是指:内涵相关联的内容,在结构.关系上也应保持关联.        以软件设计的角度来说,一项业务所包含的功能.一个功能所包含的代码,应该在结构.关系上保持关联.例如把这些代码放到同一个包下.用同一套规则来命名.这样,当我们需要查阅.修改这个功能,需要处理哪些代码就"一望而知"了.   

读书笔记:《写给大家看的面向对象设计》,《程序员的职业素养》,《设计模式其实很简单》

按照上次的计划 看了三本书,笔记现在才贴出来. <写给大家看的面向对象设计>: 使用接口开发的作用 规范函数命名,特别在项目人数比较多,在设计时,定了接口命名与参数. 可以把前台与后台的脱离.定义接口后,实现接口并返回模拟的数据,例如DataTable等,前台不需等后台就可以做UI与交互,改善UI与需要的数据,发现问题并不断完善接口.后台按照需求把数据库设计好了(如果是领域驱动开发,是Model创建),按照这个接口来开发功能,完成之后前台切换过来即可.前后台是并行开发. 便于单元测试的编写,其

写给大家看的编程规范

(本文参加 2014 CSDN博文大赛,谢谢.) [文章摘要] "没有规矩,不成方圆",在实际的软件开发项目中,做任何事情都不是随心所欲的,我们编写代码需要遵守项目组约定的编程规范.很遗憾,在学校的计算机课程中,重在教导学生实现一定的程序功能,对程序的编写规范很少提及,这也就导致了从学校毕业踏上工作岗位之后一段艰辛的学习过程. 本文根据自身的软件开发实践,对实际的软件开发项目中编写C语言和SQL语言程序时所需遵守的规范进行了详细的介绍,旨在让广大即将从事软件开发工作的程序员们懂得编程规