[源码和文档分享]基于C语言实现的邮局选址问题

1 课题概述

1.1 课题任务

n个居民小区规则的坐落在城市中,用x表示东西向,用y表示南北向。如何选择邮局的最佳位置,才能使n个居民小区到邮局的费用为最省。

采用最短路径算法求解

采用STL数据结构或设计基于STL框架的数据结构

应用基本运算,设计算法求解

1.2 课题原理

根据题意,首先是计算最短距离的算法,因为题目里说到是随机坐标,所以采用矩阵数据结构,直接使用坐标来计算两点距离。题目默认坐标为整数,所以我们采用遍历的方式来寻找最小位置点。

2 需求分析

2.1 课题调研

邮局选址根据题意,我们只需要找到到各个小区最短就行。但是我们考虑到了其他方面的问题,首先是小区内的人口会影响邮局的位置,不可能对于不同人口的小区情况相同。其次,是否存在小区距离太过分散不适合只建立一个邮局,通过Google地图查到沈阳大型邮局距离之间不超过3公里,但是还有小的邮局站,而题目并没有明确给出信息,所以无法设立条件。最后我们在想是否邮局不能建的距离小区过近,以免影响小区人民正常生活,可是并没有查到国家规定邮局周围多少范围内不能有住宅区。

2.2 用户需求

在题目的基础上我们加上了人口作为权值,使得求出的地方更合理一些,也加入了输入报错,以避免输入负人口这种事情。

18423381-a3defc3e223c28ab.png

源码下载地址:https://www.write-bug.com/article/1625.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值