传智播客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;
Virtono最近推出了夏季促销活动,为月付、季付、半年付等提供9折优惠码,年付已直接5折,而且下单后在LET回复订单号还能获得双倍内存,不限制付款周期。这是一家成立于2014年的国外VPS主机商,提供VPS和服务器租用等产品,商家支持PayPal、信用卡、支付宝等国内外付款方式,可选数据中心包括罗马尼亚、美国洛杉矶、达拉斯、迈阿密、英国和德国等。下面列出几款VPS主机配置信息,请留意,下列配置中...
适逢中国农历新年,RAKsmart也发布了2月促销活动,裸机云、云服务器、VPS主机全场7折优惠,新用户注册送10美元,独立服务器每天限量秒杀最低30.62美元/月起,美国洛杉矶/圣何塞、日本、香港站群服务器大量补货,1-10Gbps大带宽、高IO等特色服务器抄底价格,机器可选大陆优化、国际BGP、精品网及CN2等线路,感兴趣的朋友可以持续关注下。裸机云新品7折,秒杀产品5台/天优惠码:Bare-...
Sharktech荷兰10G带宽的独立服务器月付319美元起,10Gbps共享带宽,不限制流量,自带5个IPv4,免费60Gbps的 DDoS防御,可加到100G防御。CPU内存HDD价格购买地址E3-1270v216G2T$319/月链接E3-1270v516G2T$329/月链接2*E5-2670v232G2T$389/月链接2*E5-2678v364G2T$409/月链接这里我们需要注意,默...