c语言
c语言
mls学习小记
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
信息学奥赛一本通 第六章 函数 C语言非C++
【代码】信息学奥赛一本通 第六章 函数 C语言非C++原创 2024-01-05 21:05:19 · 1117 阅读 · 0 评论 -
C语言KMP算法
KMP算法(Knuth-Morris-Pratt algorithm)是一种用于字符串匹配的高效算法,它的时间复杂度为O(m+n),其中m为模式串的长度,n为文本串的长度。KMP算法通过利用模式串中的重复信息,避免了朴素算法中不必要的比较,提高了匹配的效率。KMP算法通过利用模式串中的重复信息,在匹配过程中避免了不必要的比较,提高了匹配的效率。通过构建模式串的next数组,可以在匹配失败时快速回退到合适的位置,避免了朴素算法中的大量重复比较。因此,KMP算法在实际应用中具有较高的效率。原创 2024-01-01 21:48:16 · 1281 阅读 · 0 评论 -
C语言朴素算法
分别表示文本串和模式串的索引,通过嵌套循环进行匹配的过程。外层循环控制文本串的起始位置,内层循环用于比较文本串和模式串的字符。如果任何字符不匹配,则内层循环中断,并将文本串的指针向后移动一位,重新开始下一轮匹配。如果内层循环成功执行完毕,即完整匹配了模式串中的所有字符,则说明在文本串中找到了匹配,并打印匹配的位置。朴素算法是一种最简单直观的字符串匹配算法,其时间复杂度为O(m*n),其中m为模式串的长度,n为文本串的长度。在最坏情况下,朴素算法需要进行大量的不必要比较,效率较低。原创 2024-01-01 21:46:57 · 782 阅读 · 0 评论 -
c语言广度优先搜索(Breadth-First Search,BFS)
在广度优先搜索中,我们使用队列来存储尚未访问过的节点。在这个示例中,我们使用一个结构体来表示队列,并实现了向队列中添加元素(enqueue)、从队列中移除元素(dequeue)以及检查队列是否为空(isEmpty)的操作。:我们使用一个结构体来表示图,并实现了创建新图(createGraph)和添加边(addEdge)的操作。在这个示例中,我们假设图是无向的,所以如果存在一条从节点A到节点B的边,那么就存在一条从节点B到节点A的边。为了简化问题,我们假设图中的节点表示为整数,并使用邻接矩阵来表示图。原创 2023-12-27 13:50:26 · 869 阅读 · 0 评论 -
c语言深度优先搜索 (Depth-First Search,DFS)
深度优先搜索是一种用于遍历或搜索树或图的算法。这个算法会尽可能深地搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。以上就是深度优先搜索的一种简单实现方法和它的基本思想。在实际应用中,深度优先搜索可能会更复杂,并且可能需要处理一些特殊情况,例如环路、权重等等。原创 2023-12-26 13:10:42 · 895 阅读 · 0 评论 -
c语言常用函数源码示例
这些代码可能并非所有编译器的最优实现,它们只是为了提供最直观、最容易理解的实现。在实际的库函数中,可能会有更多的优化和错误处理代码。以下是几个常用的系统库函数及其简单的实现。请注意,实际的库函数可能包含更多的错误检查和优化。真实的库函数的实现可能更加复杂,并且可能依赖于底层操作系统的支持。原创 2023-12-25 14:49:27 · 767 阅读 · 0 评论 -
c语言链表&数据插入
第一个珠子称为链表的头节点,最后一个珠子则没有箭头,表示链表的末尾。在链表中,我们可以通过遍历链表的节点来访问和操作数据。从头节点开始,我们可以顺着箭头一直走到最后一个节点,这样就可以依次访问到链表中的所有数据。链表有多种类型,包括单向链表、双向链表和循环链表等。不同类型的链表在节点之间的连接方式上略有不同,但基本的概念是相同的。链表是一种数据结构,它由一个个节点组成,每个节点包含两部分:一个是存储数据的元素,另一个是指向下一个节点的指针。在链表中插入数据有几种不同的方式,具体取决于插入的位置和需求。原创 2023-12-23 21:19:39 · 1962 阅读 · 0 评论 -
信息学奥赛一本通 第三章 程序的控制结构第一节C语言非C++
【代码】信息学奥赛一本通 第三章 程序的控制结构第一节C语言非C++原创 2023-12-13 16:01:57 · 735 阅读 · 0 评论 -
信息学奥赛一本通 第五章 第五章 数 组 第三节C语言非C++
【代码】信息学奥赛一本通 1020:浮点数向零舍入C语言非C++原创 2023-12-13 16:20:33 · 790 阅读 · 0 评论 -
信息学奥赛一本通 第四章 循环结构的程序设计第一节C语言非C++
【代码】信息学奥赛一本通 第四章 循环结构的程序设计第一节C语言非C++原创 2023-12-13 16:08:07 · 875 阅读 · 0 评论 -
信息学奥赛一本通 第五章 第五章 数 组 第一节C语言非C++
【代码】信息学奥赛一本通 1018:其他数据类型存储空间大小C语言非C++原创 2023-12-13 16:15:41 · 1578 阅读 · 0 评论 -
c语言查找算法
平均情况下的时间复杂度为O(1),最坏情况下的时间复杂度为O(n),其中n为哈希表的大小。在哈希表中查找元素的时间复杂度主要取决于哈希函数的设计和哈希表的大小。然而,当哈希冲突较多时,查找性能可能会下降,导致最坏情况下的时间复杂度为O(n)。最坏情况下的时间复杂度出现在需要查找的元素在数组的两端或不存在的情况,最好情况下的时间复杂度出现在目标元素就是数组的中间元素的情况。线性查找算法通过遍历整个数组,逐个比较数组中的元素和目标元素,直到找到目标元素或遍历完整个数组。原创 2023-12-23 20:05:54 · 808 阅读 · 0 评论 -
信息学奥赛一本通 第二章 顺序结构程序设计 五节C语言非C++
【代码】信息学奥赛一本通 第二章 顺序结构程序设计 五节C语言非C++原创 2023-12-13 15:59:28 · 840 阅读 · 0 评论 -
信息学奥赛一本通 第二章 顺序结构程序设计 三、四节C语言非C++
【代码】信息学奥赛一本通 第二章 顺序结构程序设计 三、四节C语言非C++原创 2023-12-13 15:56:18 · 516 阅读 · 0 评论 -
信息学奥赛一本通 第五章 第五章 数 组 第二节C语言非C++
【代码】信息学奥赛一本通 1019:浮点数向零舍入C语言非C++原创 2023-12-13 16:17:59 · 894 阅读 · 0 评论 -
c语言排序算法
以上代码示例演示了几种常见的排序算法的实现。可以根据具体需求选择合适的算法来进行排序。原创 2023-12-23 20:00:19 · 774 阅读 · 0 评论 -
信息学奥赛一本通 第二章 顺序结构程序设计 第一、二节C语言非C++
【代码】信息学奥赛一本通 第二章 顺序结构程序设计 一、二节C语言非C++原创 2023-12-13 15:51:17 · 541 阅读 · 0 评论 -
信息学奥赛一本通 第三章 程序的控制结构第二节C语言非C++
【代码】信息学奥赛一本通 第三章 程序的控制结构第二节C语言非C++原创 2023-12-13 16:05:14 · 748 阅读 · 0 评论 -
信息学奥赛一本通 第四章 循环结构的程序设计第二、三节C语言非C++
【代码】信息学奥赛一本通 1016:整型数据类型存储空间大小C语言非C++原创 2023-12-13 16:10:31 · 723 阅读 · 0 评论 -
信息学奥赛一本通 第四章 循环结构的程序设计第四节C语言非C++
【代码】信息学奥赛一本通 第四章 循环结构的程序设计第四节C语言非C++原创 2023-12-13 16:13:13 · 770 阅读 · 0 评论 -
C语言数据结构
C 语言是一种强大的编程语言,它提供了许多数据结构的实现。在本文档中,我们将讨论一些常见的数据结构,并提供相应的代码示例。数组是一种线性数据结构,它可以存储相同类型的元素。数组的大小在创建时被确定,并且可以通过索引访问和修改元素。链表是一种动态数据结构,它由节点(Node)组成,每个节点包含一个元素和一个指向下一个节点的指针。队列是一种先进先出(FIFO)的数据结构。可以在队尾插入元素,在队头删除元素。栈是一种后进先出(LIFO)的数据结构。它只允许在栈顶进行插入和删除操作。原创 2023-12-23 19:54:52 · 455 阅读 · 0 评论 -
信息学奥赛一本通 第一章 C++语言入门 C语言非C++
【代码】信息学奥赛一本通 第一章 C++语言入门 C语言非C++原创 2023-12-13 15:45:22 · 665 阅读 · 0 评论
分享