传智播客C和C++与数据结构基础讲义
传智扫地僧
1 、 数据结构概念
1 .1数据结构相关概念
1 .1 .1疑惑
1 、我学完了C语言可是现在感觉还是写不出代码。
2、 为什么会有各种各样的程序存在
3、程序的本质是什么
程序是为了具体问题而存在的程序需要围绕问题的解决进行设计同
一个问题可以有多种解决方案如何追求程序的“性价比”是否有可
量化的方法判别程序的好坏
1 .1 .2数据结构起源
计算机从解决数值计算问题到解决生活中的问题现实生活中的问题涉及不同个体间的复杂联系需要在计算机程序中描述生活中个体间的联系数据结构主要研究非数值计算程序问题中的操作对象以及它们之间的关系
不是研究复杂的算法
1 .1 .3数据结构中的基本概念
数据-程序的操作对象用于描述客观事物 (inta, intb,)
数据的特点
可以输入到计算机
可以被计算机程序处理
数据是一个抽象的概念将其进行分类后得到程序设计语言
中的类型。如 int float char等等
数据元素组成数据的基本单位
数据项一个数据元素由若干数据项组成
数据对象-性质相同的数据元素的集合 (比如数组链表)
struct_MyTeach er tArray[30]; // 数据对象
strcpy(t1 .name, "name"); //数据项strcpy(t1 .addr, "addr"); //数据项strcpy(t 1 .ti le, "add r"); //数据项
tl .age=1;
数据元素之间不是独立的存在特定的关系这些关系即结构
数据结构指数据对象中数据元素之间的关系
女口数组中各个元素之间存在固定的线性关系
编写一个“好”的程序之前必须分析待处理问题中各个对象的特性以及对象之间的关系。
1 .1 .4数据的逻辑结构
指数据元素之间的逻辑关系。即从逻辑关系上描述数据它与数据的存储无关是独立于计算机的。逻辑结构可细分为4类
1 .1 .5数据的物理结构
1 .1 .6数据的运算
答在数据的最常用的数据运算有5种:
1 .2、算法1 .2.1算法概念
算法是特定问题求解步骤的描述
在计算机中表现为指令的有限序列
算法是独立存在的一种解决问题的方法和思想。对于算法而言语言并不重要重要的是思想。
122算法和数据结构区别
数据结构只是静态的描述了数据元素之间的关系
高效的程序需要在数据结构的基础上设计和选择算法===
程序=数据结构+算法
总结
算法是为了解决实际问题而设计的
数据结构是算法需要处理的问题载体
数据结构与算法相辅相成
1 .2.3算法特性
输入
算法具有0个或多个输入
输出
算法至少有1个或多个输出
有穷性
算法在有限的步骤之后会自动结束而不会无限循环确定性
算法中的每一步都有确定的含义不会出现二义性可行性
算法的每一步都是可行的
124算法效率的度量1 、事后统计法
long sum3(int n)
{long ret=0;if(n>0)
{ret=(1 +n) *n/2;}return ret;
}intmain()
{printf("%d\n",sum 1(100));printf("%d\n",sum2(100));printf("%d\n",sum3(100));return 0;
int i=0;int j=0;ints=0;
wordpress公司网站模板,wordpresss简洁风格的高级通用自适应网站效果,完美自适应支持多终端移动屏幕设备功能,高级可视化后台自定义管理模块+规范高效的搜索优化。wordpress公司网站模板采用标准的HTML5+CSS3语言开发,兼容当下的各种主流浏览器: IE 6+(以及类似360、遨游等基于IE内核的)、Firefox、Google Chrome、Safari、Opera等;同时...
wordpress高级全行业大气外贸主题,wordpress通用全行业高级外贸企业在线询单自适应主题建站程序,完善的外贸企业建站功能模块 + 高效通用的后台自定义设置,更实用的移动设备特色功能模块 + 更适于欧美国外用户操作体验 大气简洁的网站风格设计 + 高效优化的网站程序结构,更利于Goolge等SEO搜索优化和站点收录排名。点击进入:wordpress高级全行业大气外贸主题主题价格:¥398...
阿里云国际版注册认证教程-免绑卡-免实名买服务器安全、便宜、可靠、良心,支持人民币充值,提供代理折扣简介SunthyCloud成立于2015年,是阿里云国际版正规战略级渠道商,也是阿里云国际版最大的分销商,专业为全球企业客户提供阿里云国际版开户注册、认证、充值等服务,通过SunthyCloud开通阿里云国际版只需要一个邮箱,不需要PayPal信用卡就可以帮你开通、充值、新购、续费阿里云国际版,服务...