数据结构——光纤网络设计

设计进度安排

1、分析居民区光纤网络的数据属性,并依据光纤铺设的功能要求,确定算法设计方案;

2、完成网络光纤铺设的数据结构设计工作,包括图文件的结构与存储结构、最小生成树的存储结构、图形的显示结构等;

3、完成功能设计工作,包括随机生成代价文件、读图文件、计算最小生成树、显示最小生成树等;

4、使用C或C++程序设计语言编写实现算法程序;

5、完成大作业报告。

设计内容

认真参阅课程相关参考资料、数据,了解铺设网络光纤的原理要求,设计一个实现居民小区之间网络光纤铺设的最佳方案选择的算法,具体内容如下:

需要在某个城市n个居民小区之间铺设网络光纤,假设任意两个居民小区之间均需要铺设光纤,则在这n个居民小区之间只需要铺设n-1条光纤即可形成一个网络,但由于地理环境不同,所需要的代价也不尽相同。本课程设计要求事先随机生成任意居民小区之间铺设网络光纤的代价,并将代价存入文件,然后设计一个最佳方案进行光纤铺设,使得既能连通所有小区之间的网络,又能使网络光纤铺设的代价最小,最终以图形形式输出所设计的最佳方案。

需求分析

1.光纤网络设计
在某个城市n个居民小区之间铺设网络光纤,设计一个最佳方案进行光纤铺设,使得既能连通所有小区之间的网络,又能使网络光纤铺设的代价最小。

2.功能要求
输入居民区的个数,光纤的条数,光纤的单价,以及各个居民区之间的距离,运用克鲁斯卡尔算法,输出系统最优的铺设方案。

代码具体


#include

#include

using namespace std;

int main()

{

        cout<>neighborhoodNum;

        cout<>opticalNum;

        cout<>price;

        cout<>neighborhood1>>neighborhood2>>distance;

              neighborhoodArrary[neighborhood1][neighborhood2]=distance;

              neighborhoodArrary[neighborhood2][neighborhood1]=distance;

                 j++;

        }

        int short_way[100];

        int near_neighborhood[100];

        int min_way;

        int temp_neighborhood;

        for(i=1; i>choice;
        if(choice=='T' )
        {
                 system("cls") ; //清空屏幕, 重新开始
        }

        if(choice=='F' )
        {
                 cout<

代码运行结果:

数据结构——光纤网络设计

总结:
运用最小生成树,点表示居民区,路径表示光纤线路,运用克鲁斯卡尔算法,使既能连通所有小区之间的网络,又能使网络光纤铺设的代价最小。考虑iostream库输入输出流便捷,采用C++代码。思考设计过程中遇到算法选择的困难,最后考虑时间复杂度和空间复杂度选择克鲁斯卡尔算法。

Original: https://www.cnblogs.com/Salinger/p/16456191.html
Author: Lincee
Title: 数据结构——光纤网络设计

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/574006/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • nacos集群部署

    使用外置数据源-mysql 如果是使用外部数据源,只能是mysql数据库。这样的话需要在mysql数据库里面创建一个数据库,初始化语句在conf目录下,再分配一个可以读写该库的账号…

    Linux 2023年6月8日
    0102
  • Ubuntu 18.04安装sysv-rc-conf

    sudo nano /etc/apt/sources.list &#x52A0;&#x5165;deb http://archive.ubuntu.com/ubun…

    Linux 2023年6月13日
    088
  • SharePoint 2007 Full Text Searching PowerShell and CS file content with SharePoint Search

    Ensure your site or shared folder in one Content Source. Add file types. The second step i…

    Linux 2023年5月28日
    078
  • 高速USB转8串口产品设计-TTL串口

    基于480Mbps 高速USB转8路串口芯片CH348,可以为各类主机扩展出8个独立的串口。使用厂商提供的VCP串口驱动程序,可支持Windows、Linux、Android、ma…

    Linux 2023年6月7日
    076
  • Redis集群-哨兵模式

    Sentinel(哨岗、哨兵)是Redis的主从架构的高可用性解决方案:由一个或多个Sentinel实例(instance)组成的Sentinel系统(system)监视任意多个R…

    Linux 2023年6月7日
    091
  • Linux下如何切割与合并大文件

    我们传输一个大文件时,有时网络比较慢,需要花费很长时间才能传输完成,或者传输的过程中,网络不稳定,有可能导致此次传输失败,针对这种情况,我们可以把大文件切分成小文件,再逐个的传输到…

    Linux 2023年6月13日
    0120
  • .htaccess文件解析漏洞

    前言 htaccess文件(或者”分布式配置文件”),全称是Hypertext Access(超文本入口)。提供了针对目录改变配置的方法, 即,在一个特定的…

    Linux 2023年6月13日
    079
  • python数据结构与算法(1)—时间复杂度

    一.数据结构基础 1.数据结构概念 就是一组数据在内存中的存储形式,也是对基本数据类型的一次封装 也是数据对象中数据元素之间的关系。 算法与数据结构的区别: 数据结构只是静态的描述…

    Linux 2023年6月6日
    080
  • IDEA生成带参数和返回值注释

    步骤说明 打开IDEA进入点击左上角 – 文件 – 设置 – 编辑器 – 活动模板 新建活动模板 填写模板文本 编辑变量 添加变量表…

    Linux 2023年6月6日
    0108
  • CentOS单机安装k8s并部署.NET 6程序 压测 记录

    前面部分依照CentOS单机安装k8s并部署.NET 6程序来进行,内存、cpu、centos版本一致,之前222元买的三年8M 2c4g 腾讯云轻量服务器,这个教程算是写的很详细…

    Linux 2023年6月7日
    0105
  • Redis在C#中的使用及Redis的封装

    Redis是一款开源的、高性能的键-值存储(key-value store)。它常被称作是一款数据结构服务器(data structure server)。Redis的键值可以包括…

    Linux 2023年5月28日
    091
  • Kubernetes&Docker集群部署

    集群环境搭建 搭建kubernetes的集群环境 环境规划 集群类型 kubernetes集群大体上分为两类: 一主多从和 多主多从。 一主多从:一台Master节点和多台Node…

    Linux 2023年6月13日
    083
  • WEB自动化-05-Cypress-元素交互

    5 元素交互 元素识别和操作是UI自动化测试的基础,下面一起来学习一下在Cypress中的元素交互操作吧。 5.1 元素定位器选择 每一个测试用例都包含对元素的定位识别和操作等。因…

    Linux 2023年6月7日
    0102
  • python入门基础知识五(for循环、公共操作与推导式)

    for循环 break终止循环 a = ‘abcd’ for i in a: … if i == ‘c’: … print("’c’ stands for ‘ce…

    Linux 2023年6月7日
    0125
  • redis主从同步收到以下参数影响

    repl-ping-slave-period主从心跳ping的时间间隔。默认10 repl-timeout 从节点超时时间。默认60 repl-backlog-size 主节点保存…

    Linux 2023年5月28日
    074
  • Redis基础

    1.简介 Redis (远程字典服务器)是一 个开源的、使用C语言编写的NoSQL数据库。Redis基于内存运行并支持持久化,采用 key-value (键值对)的存储形式,是目前…

    Linux 2023年6月13日
    084
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球