传智播客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;
4324云是成立于2012年的老牌商家,主要经营国内服务器资源,是目前国内实力很强的商家,从价格上就可以看出来商家实力,这次商家给大家带来了全网最便宜的物理服务器。只能说用叹为观止形容。官网地址 点击进入由于是活动套餐 本款产品需要联系QQ客服 购买 QQ 800083597 QQ 2772347271CPU内存硬盘带宽IP防御价格e5 2630 12核16GBSSD 500GB30M1个IP...
云如故是一家成立于2018年的国内企业IDC服务商,由山东云如故网络科技有限公司运营,IDC ICP ISP CDN VPN IRCS等证件齐全!合法运营销售,主要从事自营高防独立服务器、物理机、VPS、云服务器,虚拟主机等产品销售,适合高防稳定等需求的用户,可用于建站、游戏、商城、steam、APP、小程序、软件、资料存储等等各种个人及企业级用途。机房可封UDP 海外 支持策略定制 双层硬件(傲...
CloudCone在月初发了个邮件,表示上新了一个系列VPS主机,采用SSD缓存磁盘,支持下单购买额外的CPU、内存和硬盘资源,最低年付17.99美元起。CloudCone成立于2017年,提供VPS和独立服务器租用,深耕洛杉矶MC机房,最初提供按小时计费随时退回,给自己弄回一大堆中国不能访问的IP,现在已经取消了随时删除了,不过他的VPS主机价格不贵,支持购买额外IP,还支持购买高防IP。下面列...