新闻详情

新闻详情

首页 / 资讯中心 / 详情

生成初始归并段算法实现

发布时间:2026/9/6 17:43:01来源:尧图网络
生成初始归并段算法实现
生成初始归并段算法的目的是减少初始归并段个数降低归并趟数和磁盘读写次数提高外部排序归并效率该生成算法在数据结构:用面向对象的方法和c语言描述 第二版 殷人昆著 10.3.3节有详细描述本文给出的该算法的C代码是:#includeiostream#includevectorusingnamespacestd;templatetypenameTvoidadjust(vectorsize_tloser_tree,vectorTkey,vectorsize_tsegment_index,size_t start,size_t fathest_leaf_num,size_t offset,vectorboolinfinity){size_t curstart1;size_t parent;if(curfathest_leaf_num){parent(curoffset)/2;}else{parent(cur-fathest_leaf_numkey.size()-1)/2;}--cur;while(parent0){boolvictoryfalse;if(loser_tree[parent]!segment_index.size()cur!segment_index.size()){if(segment_index[loser_tree[parent]]segment_index[cur]){victorytrue;}elseif(segment_index[loser_tree[parent]]segment_index[cur]){if(infinity[loser_tree[parent]]false){if(infinity[cur]||key[loser_tree[parent]]key[cur]){victorytrue;}}}}else{if(cur!segment_index.size()){victorytrue;}}if(victory){size_t tempcur;curloser_tree[parent];loser_tree[parent]temp;}parent/2;}loser_tree[0]cur;}templatetypenameTvoidexteranlSort(vectorvectorTmerge_segment,vectorTinput,size_t merge_paths){size_t k1;while(k1merge_paths-1){k1;}size_t offset(k1)-1;size_t farthest_nummerge_paths-k;size_t fathest_leaf_num2*farthest_num;vectorsize_tloser_tree(merge_paths);vectorTkey(merge_paths);vectorsize_tsegment_index(merge_paths);vectorboolinfinity(key.size(),false);for(size_t i0;iloser_tree.size();i){loser_tree[i]segment_index.size();}size_t run0;for(size_t i0;ikey.size();i){if(runinput.size()){infinity[i]true;segment_index[i]2;}else{key[i]input[run];segment_index[i]1;}adjust(loser_tree,key,segment_index,i,fathest_leaf_num,offset,infinity);}T last_key;size_t pre_segement_index0;while(infinity[loser_tree[0]]false){if(segment_index[loser_tree[0]]!pre_segement_index){merge_segment.push_back(vectorT());pre_segement_index;}merge_segment.back().push_back(key[loser_tree[0]]);last_keykey[loser_tree[0]];if(runinput.size()){segment_index[loser_tree[0]]pre_segement_index1;infinity[loser_tree[0]]true;}else{if(input[run]last_key){segment_index[loser_tree[0]]pre_segement_index1;}else{segment_index[loser_tree[0]]pre_segement_index;}key[loser_tree[0]]input[run];}adjust(loser_tree,key,segment_index,loser_tree[0],fathest_leaf_num,offset,infinity);}}intmain(){vectorintinput{17,21,5,44,10,12,56,32,29};vectorvectorintresult;exteranlSort(result,input,3);for(size_t i0;iresult.size();i){cout第i1个归并段endl;for(constautorun:result[i]){coutrun ;}coutendl;}return0;}
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

分时攻击副图指标:通达信源码与实战用法详解 2026/9/6 18:25:05

分时攻击副图指标:通达信源码与实战用法详解

简介:这是一份通达信分时攻击副图指标的教程文档,面向有一定看盘基础、希望捕捉短线买卖点的股票投资者,用于在分时图中观测资金进出、攻击强度并辅助择时。文档以公式源码为主线,逐步拆解资金流入/流出、资金流量与资金比、攻击量…

阅读更多 →
如何选型、微调与部署中医大语言模型:基于 Awesome-Chinese-LLM 的完整实战指南 2026/9/6 18:25:05

如何选型、微调与部署中医大语言模型:基于 Awesome-Chinese-LLM 的完整实战指南

如何选型、微调与部署中医大语言模型:基于 Awesome-Chinese-LLM 的完整实战指南 【免费下载链接】Awesome-Chinese-LLM 整理开源的中文大语言模型,以规模较小、可私有化部署、训练成本较低的模型为主,包括底座模型,垂直领域微调及…

阅读更多 →
TensorFlow Models BERT Legacy 实现指南:从预训练 Checkpoint 到 GLUE/SQuAD 微调的完整实战 2026/9/6 18:25:05

TensorFlow Models BERT Legacy 实现指南:从预训练 Checkpoint 到 GLUE/SQuAD 微调的完整实战

TensorFlow Models BERT Legacy 实现指南:从预训练 Checkpoint 到 GLUE/SQuAD 微调的完整实战 【免费下载链接】models Models and examples built with TensorFlow 项目地址: https://gitcode.com/GitHub_Trending/mode/models 本文基于仓库中 official/leg…

阅读更多 →
Polars 之 polars-arrow IO 模块:基于格式分目录、io_* 特性门控与元数据/数据分离的读写架构设计 2026/9/6 18:25:05

Polars 之 polars-arrow IO 模块:基于格式分目录、io_* 特性门控与元数据/数据分离的读写架构设计

Polars 之 polars-arrow IO 模块:基于格式分目录、io_* 特性门控与元数据/数据分离的读写架构设计 【免费下载链接】polars Extremely fast Query Engine for DataFrames, written in Rust 项目地址: https://gitcode.com/GitHub_Trending/po/polars 本文以 …

阅读更多 →
人机界面设计核心原则与实战流程解析 2026/9/6 18:25:05

人机界面设计核心原则与实战流程解析

简介:本资源为《人机界面设计》PPT学习教案,适合计算机、设计类专业学生及入门产品设计师使用。内容围绕人机界面概述、硬件界面设计、测试与评价三大模块展开,系统讲解广义与狭义人机界面、键盘/鼠标/触摸屏等输入输出装置,以及显…

阅读更多 →
fuels-ts 类型生成实战:fuels typegen 为 Sway 合约、脚本与谓词生成强类型 API 2026/9/6 18:22:05

fuels-ts 类型生成实战:fuels typegen 为 Sway 合约、脚本与谓词生成强类型 API

fuels-ts 类型生成实战:fuels typegen 为 Sway 合约、脚本与谓词生成强类型 API 【免费下载链接】fuels-ts Fuel Network Typescript SDK 项目地址: https://gitcode.com/GitHub_Trending/fu/fuels-ts 本文以 demo-typegen 示例 为核心,讲解 fuel…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞