
数据结构与算法
文章平均质量分 75
朝辞暮见
关于DeepSeek、开源程序、定制办公自动化工具的学习,请大家可以关注抖音号:1754045136(树懒君)
展开
-
双向冒泡排序
原文链接:链接排序算法系列学习,主要描述冒泡排序,选择排序,直接插入排序,希尔排序,堆排序,归并排序,快速排序等排序进行分析。文章规划:一。通过自己对排序算法本身的理解,对每个方法写个小测试程序。 具体思路分析不展开描述。二。通过《大话数据结构》一书的截图,详细分析该算法 。 在此,推荐下程杰老师的《大话数据结构》一书,当然不是打广告,只是以一名读者的身份来客观的看待这本书,确...转载 2018-08-06 13:32:14 · 7688 阅读 · 0 评论 -
快排的两种方式
转载链接:链接快速排序的基本思想是,通过一轮的排序将序列分割成独立的两部分,其中一部分序列的关键字(这里主要用值来表示)均比另一部分关键字小。继续对长度较短的序列进行同样的分割,最后到达整体有序。在排序过程中,由于已经分开的两部分的元素不需要进行比较,故减少了比较次数,降低了排序时间。 详细描述:首先在要排序的序列 a 中选取一个中轴值,而后将序列分成两个部分,其中左边的部分 b 中的元...转载 2018-08-06 11:35:23 · 725 阅读 · 0 评论 -
C实现二分查找
原文链接:链接简要描述二分查找又称折半查找,对排好序的数组,每次取这个数和数组中间的数进行比较,复杂度是O(logn)如:设数组为a[n],查找的数x,如果x==a[n/2],则返回n/2;如果x < a[n/2],则在a[0]到a[n/2-1]中进行查找;如果x > a[n/2],则在a[n/2+1]到a[n-1]中进行查找;优点是比较次数少,查找速度快,平均...转载 2018-07-29 12:54:02 · 4614 阅读 · 2 评论 -
快排算法代码
/************************************************************************* @Author: wanghao @Created Time : Sat 12 May 2018 02:22:56 AM PDT @File Name: qsort.c @Description: **************************...原创 2018-05-15 19:52:32 · 984 阅读 · 0 评论 -
排序
排序一、排序的基本概念与分类1、排序的定义假设含有n个记录的序列为{r1,r2,……rn},其相对应的关键字分别为{k1,k2,……kn},需确定一种序列,使其关键字满足k1<=k2<=……<=km(非递减)或k1>=k2>=……>=km(非递增)关系,即使得序列成为一个按关键字有序的序列{r1,r2,……,rm},这样的操作就称为排序。排序的依据是关键字之间的...原创 2018-05-15 19:50:40 · 180 阅读 · 0 评论 -
常用的查找算法代码
#include <stdio.h>#include <stdlib.h>int number[11]={0,12,16,24,35,47,59,62,73,88,99};//待查表,第一个元素是哨兵位而不是待查数据,待查数据从下标1(第二个元素)开始int Sequential_Search(int *a,int n,int key){ int i; for(...原创 2018-05-15 19:47:33 · 336 阅读 · 0 评论 -
查找
查找一、查找概论各位都用过搜索引擎。搜索引擎的大概工作原理就是利用网络“爬虫”抓取并复制网页,并且可以通过该网页的链接来抓取更多的网页。那么,搜索引擎的是通过什么来抓取网页的呢?就是通过“关键字”来识别网页并抓取网页的。 查找(Searching)就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。查找表(Search Table)是由同一类型的数据元素(或记录)构成的...原创 2018-05-15 19:45:49 · 261 阅读 · 0 评论 -
赫夫曼树与赫夫曼编码
二叉树的应用——赫夫曼树与赫夫曼编码1、赫夫曼树赫夫曼(David Huffman,也译为“哈夫曼”),美国数学家,他在1952年发明了赫夫曼树与赫夫曼编码。赫夫曼编码是当代压缩和解压缩技术的基础。我们通过一个具体的示例来体会一下什么叫赫夫曼树(Huffman Tree)。给定一个成绩(0~100),输出所对应的分数段。我们可以通过以下代码来实现:if(a<60) printf(...原创 2018-05-15 19:42:14 · 825 阅读 · 0 评论 -
二叉树的建立与排序
一、树的定义:1、定义:树(Tree)是n(n>=0)个节点的有限集,n=0时称为“空树”。在任意一棵非空树中:⒈有且仅有一个特定的称为根(root)的节点。⒉当n>1时,其余节点可分为m(m>0)个互不相交的有限集T1、T2……Tm,其中每一个集合本身又是一棵树,并且称之为根的子树(SubTree)。2、树的节点的分类:树的节点包含一个数据元素以及若干个指向其子树的分支。节点拥...原创 2018-05-15 18:21:54 · 1382 阅读 · 0 评论 -
链式队列
环境:gcc目的:链式队列练习功能:1. 建立链式队列2. 判空4. 入队列5. 出队列 /************************************************************************* @Author: wanghao @Created Time : Thu 10 May 2018 07:31:27 PMPDT @File Name: link...原创 2018-05-14 15:29:56 · 208 阅读 · 0 评论 -
顺序循环队列
环境:gcc目的:顺序循环队列练习功能:1. 建立顺序循环队列2. 判空3. 判满4. 入队列5. 出队列6. 求队列长 /************************************************************************* @Author: wanghao @Created Time : Thu 10 May 2018 12:45:40 AMPDT ...原创 2018-05-14 15:28:30 · 566 阅读 · 0 评论 -
链式栈
环境:gcc目的:顺序栈练习功能:1. 创建栈2 . 入栈3. 出栈 /************************************************************************* @Author: wanghao @Created Time : Wed 09 May 2018 10:42:01 PMPDT @File Name: linklist.c @De...原创 2018-05-13 22:56:13 · 133 阅读 · 0 评论 -
顺序栈
环境:gcc目的:顺序栈练习功能:1. 创建栈2 . 入栈3. 出栈 /************************************************************************* @Author: wanghao @Created Time : Wed 09 May 2018 08:29:13 PMPDT @File Name: stack.c @Desc...原创 2018-05-13 22:51:46 · 184 阅读 · 0 评论 -
双向链表
环境:gcc目的:双向链表练习功能如下:1. 创建一个双向链表2. 在双向链表中插入一个元素3. 在双向链表中删除一个元素 /************************************************************************* @Author: wanghao @Created Time : Wed 09 May 2018 07:13:26 PMPDT...原创 2018-05-13 16:31:48 · 187 阅读 · 0 评论 -
单向循环链表之约瑟夫环
/************************************************************************* @Author: wanghao @Created Time : Wed 09 May 2018 06:08:28 PM PDT @File Name: ysfh.c @Description: ***************************...原创 2018-05-10 21:43:03 · 2544 阅读 · 0 评论 -
算法的时间复杂度与大O记法
算法的时间复杂度:算法的时间复杂度是一个关于问题规模n的函数,而且这个函数描述了cpu运行算法所需要的时间。大O记法:描述时间复杂度优劣的一种记法。2、推导大O阶的方法假设算法的时间复杂度为T(n)1. 只保留最高阶项2. 将最高阶项的常数改为1 第一步:计算语句执行次数T(n) void MATRIXM(int n) ...原创 2018-05-09 21:35:53 · 981 阅读 · 0 评论 -
链式存储单向表
环境:gcc目的:链式存储单向表练习功能如下:1. 创建一个空顺序存储表2. 表中插入数据分3种情况1)表头插入2)表尾插入3)在指定位置插入4 在指定位置删除一个元素5 将表中的数据元素倒序6 遍历顺序存储表7. 释放链表内存 /************************************************************************* @Author: ...原创 2018-05-09 20:53:25 · 240 阅读 · 0 评论 -
顺序存储表
环境:gcc目的:顺序存储表练习功能如下:1.创建一个空顺序存储表2.判断表空3.判断表满4.求表长5.插入一个元素6.删除一个元素7.修改一个元素8.查找一个元素9.遍历顺序存储表 /*************************************************************************> File Name: seqlist.c> Auth...原创 2018-05-08 20:24:00 · 384 阅读 · 0 评论