class 1

数据结构就是指 按一定的逻辑结构组成的一批数据,使用某种存储结构将这批数据存储于计算机中,并在这些数据上定义了一个运算集合。

例1、煤气管道的铺设问题。如图需为城市的各小区之间铺设煤气管道,对 n 个小区只需铺设 n-1 条管线,由于地理环境不同等因素使各条管线所需投资不同(如图上所标识),如何使投资成本最低?这是一个讨论图的生成树的问题。

way1:prim法================从最小边开始画圈 并不断插入次小边做集合 ========================

(9)(H,I) ==> (9,12)(H,I,A) ==> (9,12,34)(H,I,A,B) ==> (9,12,34,8)(H,I,A,B,C) ==>(9,12,34,8)(H,I,A,B,C) ==>(9,12,34,8,21)(H,I,A,B,C,D) ==>(9,12,34,8,21)(H,I,A,B,C,D)

==>(9,12,34,8,21,31)(H,I,A,B,C,D,E) ==>(9,12,34,8,21,31,10)(H,I,A,B,C,D,E,G) ==>(9,12,34,8,21,31,10,79)(H,I,A,B,C,D,E,G,F) 

way2:kruskal法===============排序 寻找不构成回路的边====================

8 √ 9 √ 10 √ 12 √ 19  31 √ 34 √ 45  52  56  67  79 √ 85  98

                

算法五个基本特征:

1.有穷性

2.确定性

3.输入(可没有)

4.输出(必有)

5.可行性

时间复杂度:用计算量度量n(o)

例2 设数组a和b在前边部分已赋值,求如下两个n阶矩阵相乘运算算法的时间复杂度。

for(i=0;i<n;i++)
      for(j=0;j<n;j++)
  {
     c[i][j]=0;                            
     for(k=0;k<n;k++)
      c[i][j]=c[i][j]+a[i][k]*b[k][j];  
  }

解:设基本语句的执行次数为f(n),有f(n)=c1×n^2+ c2×n^3,因  T(n)= f(n)=c1×n^2+ c2×n^3≤c × n^3

其中c1 , c2 , c均为常数,所以该算法的时间复杂度为T(n)=O(n3)

各种不同数量级对应的值存在着如下关系:

O(1)<O(log2n)<O(n)<O(n*log2n)<O(n2)<O(n3)<O(2n)<O(n!)

上课总结-数据结构c++的更多相关文章

  1. 疫情下的在线上课方案:QQ直播+蓝墨云班课

    目录 疫情下的在线上课方案:QQ群视频(腾讯课堂)+蓝墨云班课 使用QQ进行直播 材料 QQ直播步骤 其他问题 使用蓝墨云班课加强学习效果 教材问题 我的直播-小学生硬笔书法基础 我的直播 - C程序 ...

  2. WEB学习总结 +数据结构

    HTML5  <h1>会员注册界面</h1><form action="process.aspx" method="post" n ...

  3. 《JAVA语言程序设计》上课笔记

    教学目标:1.使学生了解JAVA课程的性质.定位.作用:为什么要学习JAVA?让学生知道如何学好JAVA: 教学内容: 一.        问几个问题 1.             你们到这里来干什么 ...

  4. Java 数据结构与算法分析学习

    由于之前面试android的时候考到了很多关于java的知识,所以这次重温数据结构知识就打算用java来学习,毕竟android是以java为基础的,而且我现在学习的j2ee架构也是以java为基础的 ...

  5. 20162323周楠《Java程序设计与数据结构》第六周总结

    学号 2016-2017-2 <程序设计与数据结构>第六周学习总结 教材学习内容总结 继承:从已有类派生一个新类,是面向对象程序设计的一个特点 在Java中只支持单继承,不支持多继承 继承 ...

  6. 20162323周楠《Java程序设计与数据结构》第五周总结

    20162323周楠 2016-2017-2 <程序设计与数据结构>第五周学习总结 教材学习内容总结 1.面向对象软件设计的基本部分是确定程序中应该创建哪些类: 2.面向对象程序设计的核心 ...

  7. 20172328 2018-2019《Java软件结构与数据结构》第六周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第六周学习总结 概述 Generalization 本周学习了第十章:非线性集合与数据结构--树.主要讨论了树的使用和实现 ...

  8. 20172328 2018-2019《Java软件结构与数据结构》第七周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第七周学习总结 概述 Generalization 本周学习了第11章:二叉查找树.在本章中,主要探讨了二叉查找树的概念和 ...

  9. 20172306 2018-2019-2 《Java程序设计与数据结构》第九周学习总结

    20172306 2018-2019-2 <Java程序设计与数据结构>第九周学习总结 教材学习内容总结 无向图 图是由结点和这些结点之间的连接构成 就图来说,结点叫做顶点,结点之间的连接 ...

随机推荐

  1. web deploy 部署网站

    一.服务端配置 1. 确保在服务器端(我目前是win server 2012 R2)安装管理服务 安装后服务器会重启, 2)安装webdeploy http://www.iis.net/downloa ...

  2. hibernate缓存机制详细介绍

    hibernate的缓存机制,包括一级缓存(session级别).二级缓存(sessionFactory级别). 一:hibernate的 N+1问题 list()获得对象: 如果通过list()方法 ...

  3. python学习笔记(四):函数

    一.函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pasc ...

  4. 5.solr学习速成之语法

    常用查询参数 q - 查询字符串,必须的.   fl - 指定返回那些字段内容,用逗号或空格分隔多个.  start - 返回第一条记录在完整找到结果中的偏移位置,0开始.   rows - 指定返回 ...

  5. Windows nvidia显卡的设置方法

    1.直接右下角打开N卡控制面板托盘按钮,一般来说都是自动隐藏在小箭头里的,点开就可以显示隐藏的图标了.[插入图片“右下角小箭头”]2.开始菜单 - 控制面板 ,可以看到“显卡控制面板”这个选项,进去就 ...

  6. swift一次 Attempt to present on whose view is not in the window hierarchy的解决方法

    做的是二维码扫描,扫描后识别为URL的话就跳转到webview 加载网页,用的是代理传值的方式.扫描到了 值传递到主页 扫描窗体退出,检测值是否是http://开头 是网页就跳转. 问题出在传值到主界 ...

  7. c++builder delphi 调用dll dll编写

    c++builder动态调用dll // 定义 typedef int __stdcall MyFunction (int x, char *str); ; String dllName = &quo ...

  8. Python三元运算和lambda表达式

    一.三元运算 1.定义:三元运算是if-else 语句的快捷操作,也被称为条件运算. 2.结构: [on_true]  if  [expression]  else  [on_false] 3.示例: ...

  9. 使用ES6的Promis完美解决ajax的回调(优化代码)

    相信经常使用ajax的前端小伙伴,都会遇到这样的困境:一个接口的参数会需要使用另一个接口获取. 年轻的前端可能会用同步去解决(笑~),因为我也这么干过,但是极度影响性能和用户体验. 正常的前端会把接口 ...

  10. CURL以 POST 请求链接的方式 初始化一个cURL会话来获取一个网页

    /** *POST URL */ function posturl($URL,$data) { $ch = curl_init(); // 创建一个新cURL资源 curl_setopt($ch,CU ...