问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

排序法的排序法的基本步骤

发布网友 发布时间:2022-04-06 11:23

我来回答

2个回答

热心网友 时间:2022-04-06 12:52

排序法是根据一些特定的标准(例如工作的复杂程度、对组织的贡献大小等对各个职位的相对价值)进行整体比较,进而将职位按照相对价值的高低排列出一个次序。其基本步骤是:
1、对排序的标准达成共识。虽然排序法是对岗位的整体价值进行评价而排序,但也需要参与评估的人员对什么样的“整体价值”更高达成共识,如责任更大,知识技能更高,工作更加复杂,环境因素恶劣等。
2、选定参与排序的职位。如果公司较小可以选取全部职位进行排序。
3、评定人员根据事先确定评判标准,对公司同类岗位的重要性逐一作出评判,最重要的排在第一位,次要的、再次要的顺次往下排列。
4、将经过所有评定人员评定的每个岗位的结果加以汇总,得到序号和。然后将序号和除以评定人数,得到每一岗位的平均序数。最后,按平均序数的大小,由小到大评定出各岗位的相对价值的次序。

热心网友 时间:2022-04-06 14:10

1.选择排序
定义:首先,选出数组中最小的元素,将它与数组中第一个元素交换。然后找出次小的元素,并将它与数组中第二个元素交换。按照这种方法一直进行下去,直到整个数组排完序。
交换次数:N-1
缺点:运行时间对文件已有序的部分依赖较少,从文件中选出最小元素的每一遍操作过程,并没有给出下一遍要找的最小元素的位置的相关消息。例如,该程序对已排好序的文件或各元素都相同的元素文件与对随机排列的文件排序所花的时间基本相同。
适用性:对于元素比较大,关键字又比较小的文件,应该选择该方法,而其他算法移动数据的步数都比选择排序更多。
sc(source code):

template <typename T, typename Compare>
void SelectSort(vector<T> & arr, Compare cp)
{
Display(arr, "before SelectSort:");
for (size_t i=0; i<arr.size(); ++i) {
size_t m = i;
for (size_t j=i+1; j<arr.size(); ++j) {
if ( !cp(arr[m], arr[j]) ) {
m = j;
}
}
if (m != i) {
swap(arr[i], arr[m]);
}

Display(arr, i);
}
}

2.插入排序(摘自:
插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。
算法描述:
一般来说,插入排序都采用in-place在数组上实现。具体算法描述如下:
从第一个元素开始,该元素可以认为已经被排序
取出下一个元素,在已经排序的元素序列中从后向前扫描
如果该元素(已排序)大于新元素,将该元素移到下一位置
重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
将新元素插入到该位置中
重复步骤2
如果比较操作的代价比交换操作大的话,可以采用二分查找法来减少比较操作的数目。该算法可以认为是插入排序的一个变种,称为二分查找排序。
算法复杂度:
如果目标是把n个元素的序列升序排列,那么采用插入排序存在最好情况和最坏情况。最好情况就是,序列已经是升序排列了,在这种情况下,需要进行的比较操作需(n-1)次即可。最坏情况就是,序列是降序排列,那么此时需要进行的比较共有n(n-1)/2次。插入排序的赋值操作是比较操作的次数减去(n-1)次。平均来说插入排序算法复杂度为O(n2)。因而,插入排序不适合对于数据量比较大的排序应用。但是,如果需要排序的数据量很小,例如,量级小于千,那么插入排序还是一个不错的选择。
sc:

template <typename T, typename Compare>
void InsertSort(vector<T>& arr, Compare cp)
{
Display(arr, "before InsertSort:");
for(size_t i=1; i<arr.size(); ++i) {
T temp = arr[i];
for(size_t j=i ; j>0 && !cp(temp, arr[j-1]) ; --j) {
arr[j] = arr[j-1];
arr[j-1] = temp;
Display(arr, "----");
}
Display(arr, i);
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
陈八两面馆的什么面最好吃? 杭州湾跨海大桥可以骑行吗 杭州湾跨海大桥上能骑车吗? ...不知道可不可以骑自行车,又需要做哪些准备,谢谢各位资深人士了... 激光祛痘坑的效果如何? 口述:3个闺密分享1个“软饭男” 骚气文案暗示-推荐65句 三个男人怎么晒朋友圈 任钊的介绍 请问德阳青依江路口到德阳中级人民法院坐几路公交车 珠江木论喀斯特生态旅游区导游词 关于茶海的导游词 海南呀诺达雨林文化旅游区导游词(要简单易记的)谢谢!-----中文的 介绍三亚的导游词,大概300字左右,帮帮忙,很急! 三江源生态旅游区导游词 潮州景点导游词该怎么写? 东澳岛旅游景点导游词 求一篇汕头市莲花峰风景区导游词 急! 汕头到澄海沿途导游词 南澳总兵府导游词 介绍南澳岛景点的英语导游词 项目管理Cp2是什么意思 cp1油泵零流量孔是什么意思 蓝牙耳机内置音频无声,求大神解决。 看到计数器说明书上有CP1信号输入,和CP2信号输入,CP1和CP2是什么? 蓝牙耳机没声音是什么原因 玩王者有一个人加我,说要和我处cp,我说有对象了,他说我对象想中出我,中出是什么意思? 海贼王中cp是什么意思?cp系列都有什么人?有没有cp0? 海贼王中 CP9 中的CP 是什么意思? 可以一一例举出CP1-CP9 得作用效果吗??!! 一加Buds Z2耳机已经连接但没有声音或者卡顿的原因? 华为荣耀8青春版分屏功能的前提条件 荣耀8青春版#荣耀八青春版怎么分屏 荣耀8怎么开启分屏模式? 荣耀8#荣耀8分屏怎么用 荣耀8手机怎么分屏显示 在两张桌面切换时怎么让声音停止 手机分屏怎么静音其中一个? 分屏怎么关闭一个的声音 怎样手机关掉分频的声音? 分屏时如何关闭一个声音? 怎么分屏不串声? 分屏时,怎样才能让两个视频一个有声一个没有声? 华为手机在分屏时怎么一边有音量一边没音量? vivox30分频模式如何关掉另一个屏幕的声音? 华为nova5pro手机分屏的时候能不能控制另一半屏的声音? 华为手机如何关闭一个应用的声音 oppo分屏时能把其中一个声音关了吗? vivoy5s分屏可以关闭其中一个的声音吗? 三年定期支票没到期可以取吗 定期3年支票满一年拿出利息怎么算