C语言常用的算法包括以下几种:
线性查找(Linear Search):顺序遍历数组或列表,逐个比较查找目标元素。
二分查找(Binary Search):在有序数组或列表中进行查找,通过重复将查找范围缩小一半来快速定位目标元素。
冒泡排序(Bubble Sort):依次比较相邻元素,如果顺序错误则交换位置,较大(小)的元素逐渐“冒泡”到数组的一端。
快速排序(Quick Sort):通过选择一个基准元素,将数组分为两个子数组,并递归地对子数组进行排序,最终达到整体有序的目的。
插入排序(Insertion Sort):逐个将元素插入已排序的部分数组中,当插入到正确位置时,数组的长度增加1。
选择排序(Selection Sort):每次从未排序的部分数组中选择最小(大)的元素,并将其与未排序数组的第一个元素交换位置。
归并排序(Merge Sort):将数组递归地分成两个子数组,分别对子数组进行排序,然后将已排序的子数组合并成一个有序数组。
堆排序(Heap Sort):利用堆这种数据结构进行排序,将数组看作完全二叉树,通过构建和调整堆来实现排序。
计数排序(Counting Sort):统计数组中每个元素的出现次数,然后根据统计信息将元素放回原数组。
桶排序(Bucket Sort):将数组划分为多个有序的桶,将元素分配到相应的桶中,再对每个桶进行单独排序。 |