基础数据结构
文章平均质量分 78
我是大学渣
因为头发还很多所以相当程序员
展开
-
数据结构——单链表(C语言实现)
单链表的基本操作有 初始化,头插,尾插,按位置插,头删,尾删,按位置删,查找,按值删,获取有效值个数,判空,清空,销毁,打印 - 单链表是一种链式存取的数据结构,链表中的数据是以结点来表示的,每个结点的构成:==元素(数据元素的映象)== + ==指针(指示后继元素存储位置)==,元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。以“结点的序列”表示的线性表称作线性链表(单链表),单链表是链式存取的结构。原创 2022-08-23 11:09:12 · 3846 阅读 · 28 评论 -
排序算法——归并排序和桶排序
读完本文,完全学会归并列和桶排序。可以将其看作是n个有序的子序列,每一个子序列个数为一,然后开始两两合并,这是子序列个数/2(此时,每一个子序列个数为2),然后再开始两两合并,以此类推,直到所有的数据都在同一个序列内才停止(两两合并指的是两个子序列进行排序合并),基数排序(Radix sort)是将所有数据按照从最低位开始进行排序,也就是按照个位,十位,百位,千位........,而判断需要进行几次排序,则是根据数据中最大位数来...原创 2022-08-02 09:33:16 · 1634 阅读 · 112 评论 -
排序算法——直接插入排序和希尔排序
希尔排序是直接插入排序的优化,两者关系十分密切,但是要记住希尔排序不稳定,直接插入排序是稳定的✨原创不易,还希望各位大佬支持一下👍点赞,你的认可是我创作的动力!⭐️收藏,你的青睐是我努力的方向!✏️评论,你的意见是我进步的财富!httpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttps。.........原创 2022-07-24 22:58:49 · 569 阅读 · 33 评论 -
排序算法——快速排序(递归和非递归)及其优化(三数取中法、随机数法)
快排效率较高,应用十分广泛,所以面试官经常考查快排,我们一定要掌握其原理和思想,了解其优化方法能熟练写出递归与非递归的代码,看完本文,你一定可以对快速排序有一定的认识。快速排序:通过一趟排序将待排序列分割成两个部分,其中一部分的所有值都小于基准值,另外一部分的值都大于基准值,然后再分别对这两部分进行快速排序,直到所有的值都全部有序(当子序列只有一个值的时候,不用对其再进行划分,默认其有序)即函数调函数,使用了递归的思想......原创 2022-07-23 13:24:56 · 1004 阅读 · 2 评论 -
排序算法——冒泡排序和选择排序
看完完全掌握冒泡和选择法排序,冒泡排序和选择排序是最简单最基础的排序算法,是C语言入门时必须要求要掌握的两种算法,缺点是时间复杂度较高,当数据量较大时建议根据情况选择其他算法。httpshttpshttpshttpshttpshttps。...原创 2022-07-22 22:55:05 · 3845 阅读 · 5 评论 -
排序算法——堆排序
#孩子第一次写博客,以后会进步的,希望各位能够给孩子一个小小的关注,激#**堆排序的思想** 若要进行升序排列,则使用大顶堆,先将待排序列构造成一个完全二叉树,然后将其调整为一个大顶堆,此时在大顶堆中根节点是整个序列中最大值,将其与最后一个节点交换,这时尾节点就是最大值,然后将尾节点剔除出整个序列,会得到一个n-1的序列,然后再次调整为大顶堆(因为只进行了首尾交换,所以调整时从根节点开始调整,不用像第一次那样从最后一个非叶子节点开始)循环往复,直至只剩下根节点为止,堆排序结束。.........原创 2022-07-22 15:49:53 · 341 阅读 · 5 评论