什么是拓扑排序? 拓扑排序的英文名是Topologicalsorting。拓扑排序要解决的问题是给一个图的所有节点排序。一、什么是拓扑排序在图论中,拓扑排序(TopologicalSorting)是一个有向无环图(DAG,DirectedAcyclicGraph)的所有顶点的线性序列。 图论 2022年01月19日 148 点赞 0 评论 138271 浏览
什么是拓扑排序? 拓扑排序主要解决的问题是给一个图的所有节点排序。一、什么是拓扑排序在图论中,拓扑排序(TopologicalSorting)是一个有向无环图(DAG,DirectedAcyclicGraph)的所有顶点的线性序列。且该序列必须满足下面两个条件:(1)每个顶点出现且只出现一次。 图论 2022年02月17日 101 点赞 0 评论 107053 浏览
C++ STL 排序算法std::sort()函数入门 在实际工作学习中,我们经常需要对容器进行排序,比如我们用一个vector容器来维护Dotcpp编程的用户,当用户刷新排名界面时,我们就需要对vector容器根据用户刷题量来进行排名了。看到“排序”这两个字,相信读者脑海里一定有这些词一闪而过:冒泡排序、选择排序、插入排序、归并排序、快排、堆排等排序算法 C++常用算法(一) 2025年10月21日 1 点赞 0 评论 1208 浏览
C++ STL 排序算法std::stable_sort()函数入门 前面我们已经学习了sort()排序,本节我么将继续学习STL库提供的其他排序算法函数模板——stable_sort()。“stable”意为稳定,那么我们这个stable_sort()和之前学习过的排序算法sort()有什么区别呢,”稳定“之处在哪?原来, C++常用算法(一) 2025年10月21日 0 点赞 0 评论 1161 浏览
C++ STL 排序算法std::partial_sort()函数入门 partial_sort(first,middle,last)排序算法模板函数,”partial“意为”部分“,该排序算法指的是在指定区间[first,last)按排序规则找出前(middle-first)个元素并存放进排序区间[first,middle)中。 C++常用算法(一) 2025年10月21日 0 点赞 0 评论 1141 浏览
C++ STL 排序算法std::nth_element()函数入门 nth_element(beg , pos , end)排序算法模板函数,”nth“意为”第几个“,该排序算法指的是在指定区间[beg , end)按排序规则找出位置在pos上的元素是谁并进行填充,此函数会打乱原有序列。使用nth_element(beg ,pos , end)时需要包含头文件<algorithm>。使用nth_element(beg ,pos C++常用算法(一) 2025年10月21日 3 点赞 0 评论 1195 浏览
排序算法之归并排序代码模板(C/C++/Java/Python多版本) 归并算法是一种典型的分治排序算法,其核心过程是“先分后合”:首先将待排序序列递归地分成最小的子序列(直到每个子序列只包含一个元素),然后将这些有序的子序列两两合并,通过逐次比较、按序排列,最终合并成一个完整的有序序列。整个算法的时间复杂度稳定为 O(n log n),且具有稳定性,适用于大规模数据的排序。1. C/C++版代码:voidmerge(int*a,i 算法篇 2026年01月25日 0 点赞 0 评论 799 浏览
排序算法之冒泡排序代码模板(C/C++/Java/Python多版本) 冒泡算法是一种基础的排序算法,其核心思想是反复交换相邻元素,如同水中的气泡逐渐上浮。它通过多轮遍历,在每一轮中依次比较相邻的两个元素,如果它们的顺序错误(例如前一个比后一个大),就交换它们的位置,这样每一轮遍历都会将当前未排序部分中的最大(或最小)元素“浮”到正确的一端(末端)。 算法篇 2026年01月25日 0 点赞 0 评论 924 浏览
排序算法之选择排序代码模板(C/C++/Java/Python多版本) 选择排序是一种简单直观的排序算法。它的工作原理是:首先在整个序列中找到最小(或最大)的元素,将其与序列第一个位置的元素进行交换;然后,在剩下的未排序元素中继续寻找最小(或最大)的元素,将其与第二个位置的元素交换;以此类推,不断在剩余的未排序部分中选择最值元素, 算法篇 2026年01月25日 0 点赞 0 评论 748 浏览