
c语言算法
一曲无痕奈何
执笔书写人生路,背包踏尽世俗事。
展开
-
最优服务次序问题(AC代码)
问题 C: 算法实现题4-6 最优服务次序问题时间限制: 1 Sec内存限制: 128 MB题目描述设有n个顾客同时等待一项服务。顾客i需要的服务时间为ti,1≤i≤n。应如何安排n个顾客的服务次序才能使平均等待时间达到最小?平均等待时间是n个顾客等待服务时间的总和除以n。对于给定的n个顾客需要的服务时间,计算最优服务次序。输入第一行是正整数n,表示有n个...原创 2019-12-27 15:49:10 · 1323 阅读 · 0 评论 -
最优合并问题(AC)
问题 B: 算法实现题4-2 最优合并问题时间限制: 1 Sec内存限制: 128 MB题目描述给定k个排好序的序列s1,s2,s3......sk,用2路合并算法将这k个序列合并成一个序列。假设所采用的2路合并算法合并2个长度分别为m和n的序列需要m+n-1次比较。试设计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。为了进行比较,还需要确定合并这个序列的最差合并...原创 2019-12-27 15:49:20 · 1825 阅读 · 0 评论 -
自底向上实现归并排序
首先是一个数组 : 从左到右依次划分为小段:两个元素一个小段。 然后进行四个小段进行排序: 最后八个元素一个小段:最终完成了整个归并排序的过程。代码实现:main.cpp:#include <iostream>#include "SortTestHelper.h"#include "MergeSort.h"using namespace std;...原创 2019-10-31 22:34:52 · 1405 阅读 · 0 评论 -
归并排序详细思路与插入排序的对比
一、基本概念1.归并概念:将两个有序数列合并成一个有序数列,我们称之为“归并”。2.归并排序(Merge Sort)概念建立在归并操作上的一种排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序有多路归并排序、两路归并排序,可用与内排序,也可用于外排序。3.算法思路及实现设两个有序的子序列(相当于输入序列)放在同一序列中相邻的...原创 2019-10-30 22:05:10 · 1179 阅读 · 0 评论 -
C++实现插入排序的总结
一.直接插入排序(Direct insertion sort)概述在为排序序列中,构建一个子排序序列,直至全部数据排序完成将代排序的数,插入到已经排序的序列中合适的位置增加一个哨兵,放入比较值,让它和后面已经排好的序列比较,找到合适的插入点二.直接插入排序原理初始值:[1 9 8 5 6]第一趟:[0 1 9 8 5 6] [9 1 9 8 5 6] -> ...原创 2019-10-26 14:49:07 · 341 阅读 · 0 评论 -
c++实现选择排序的几种方式
一、选择排序第一种类型:思路:10,15,20,1,2,3,6,45,21,22 由当前位置的后一个位置,去寻找最小的然后与当前位置做一次交换即可,也就是,现在位置是0数字是10,现在向后找最小的,每次向后找,与一开始的值比较,直到拿到最小值,然后与当前的位置作一次交换,最后执行多次,直到...原创 2019-10-26 13:40:48 · 7638 阅读 · 1 评论 -
玩转算法面试第一章(算法面试准备)
如何准备算法面试准备面试和准备算法面试是两个概念 算法面试,只是面试中的一个环节像前两种主要考虑排序之间的比较一些基础算法的例子,平常需要注意数据结构和基础算法。算法面试的题目中的条件注意:当我们面试时...原创 2019-10-26 00:11:38 · 346 阅读 · 0 评论 -
玩转算法面试第一章(算法面试前言)
算法面试是什么?:问题:对一组数组进行排序我们的的提问:对排序有什么额外的要求?是否需要稳定排序?如果是的话,归并排序是更好的选择面试问题的经验:...原创 2019-10-25 13:50:14 · 161 阅读 · 0 评论 -
c语言密码破译简单解法
问题 1003: [编程入门]密码破译时间限制: 1Sec 内存限制: 128MB 提交: 24186 解决: 13844题目描述要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.例如,字母"A"后面第4个字母是"E"."E"代替"A"。因此,"China"应译为"Glmre"。请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值...原创 2019-10-22 17:31:42 · 9099 阅读 · 2 评论 -
独立任务最优调度问题
题目描述用2台处理机A和B处理n个作业。设第i个作业交给机器A处理时需要时间ai,若由机器B来处理,则需要时间bi。由于各作业的特点和机器的性能关系,很可能对于某些i,有ai>=bi,而对于某些j,j不等于i,有aj<bj。既不能将一个作业分开由2台机器处理,也没有一台机器能同时处理2个作业。设计一个动态规划算法,使得这2台机器处理完这n个作业的时间最短(从任何一台机器开工到最后一...原创 2019-10-21 10:02:13 · 2237 阅读 · 1 评论