![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
度小编
这个作者很懒,什么都没留下…
展开
-
单链表创建问题总结
单链表创建的问题一,链表有无头结点的区别什么是头结点:在链表第一个元素结点之前设置的第一个结点,数据域可以不存任何信息,指针域指向单链表的第一个元素的结点叫做头结点。有头结点的作用: 能够表示空链表,当只有头结点的时候就是空链表 减少了单链表添加删除时特殊情况的判断,减少了程序的复杂性,主要是添加和删除在第一个有元素的结点上有区别,如果链表没有头结点,删除或者添加时都要判断一次首元素结点,有了头结点以后,首元结点实际为链表的第二个结点,使得所有的元素结点的添加和删除更具有统一二原创 2021-02-22 22:01:45 · 422 阅读 · 0 评论 -
每日程序C语言26-直接选择排序
题目:对10个数进行排序(1)-直接选择排序程序分析直接选择排序是一种简单直观的排序算法,无论什么数据进去都是O(n^2)的时间复杂度,所以一般用在数据规模较小的时候,这个算法唯一的优点就是不占用额外的内存空间算法步骤:首先在未排序序列中找到最大(最小)元素,存放到排序序列的起始位置再从剩余的未排序的元素中继续寻找最大(最小)元素,然后放到已排序的序列的末尾重复第二步,直至所有元素均排序完毕主要代码void selection_sort(int a[],int len){原创 2021-02-06 20:31:21 · 138 阅读 · 0 评论 -
选择排序之小白学算法
直观展示排序思路从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为0.稳定性排序算法是不稳定的排序方法时间复杂度(N^2)算法评价这是一种简单直观的排序算法,无论什么数据进去都是相同的时间复杂度,数据规模越小越好,唯一的好处就是不占用额外的内存空间。选择排序示例[2 4 3 1 6 5] 初始状态[1][3 4 2 6 5]原创 2020-10-21 07:40:07 · 75 阅读 · 0 评论 -
查找数组B中不在数组A中的元素
@查找数组B中不在数组A中的元素(小白学demo_day1)查找数组B中不在数组A中的元素数组A(N个元素)按照从小到大的顺序,数组B(M个元素)无序查找数组B中不在数组A中的元素步骤:(方法之一)先将数组B排序,时间复杂度为0(M*log2 M)然后,运用两个指针,来遍历数组A和数组B,时间复杂度为0(M+N)所以,总的时间复杂度为0(M*log2M +M + N)主要代码如下:for(i=0,j=0;i<A.length,j<B.length;){ if(A[i]&g原创 2020-10-19 07:51:47 · 1259 阅读 · 0 评论