数据结构
文章平均质量分 86
啊呦.超能力
汪洋大海里的沧海一粟
展开
-
链表--单链表
链表是一种常用的数据结构,在C语言中提供了一种灵活且高效的数据管理方式,它适用于那些需要频繁插入和删除操作的场景。链表的每个节点包含数据和指向下一个节点的指针,这种结构使得链表能够有效地利用内存,并且提供快速的插入和删除能力。然而,由于是动态分配的,访问链表中的元素通常比访问数组中的元素慢,因为必须从头节点开始按顺序访问。链表的这种特性使其成为许多复杂数据结构和算法的基础。原创 2024-06-05 17:37:31 · 1336 阅读 · 0 评论 -
数据结构与算法--排序
排序算法是一种将数据元素集合按照特定顺序(通常是升序或降序)重新排列的算法。在计算机科学中,排序算法是基本且重要的一环,其目的在于将杂乱无章的数据按照非递减或非递增的顺序进行排列,以便数据的检索和管理。排序算法的稳定性是一个重要评估标准,稳定的排序算法会保持具有相等关键字记录的相对次序不变。总的来说,排序算法是数据处理过程中不可或缺的工具,它们各有特点和适用场景。在选择适合的排序算法时,不仅要考虑算法的时间和空间复杂度,还要考虑待排序数据的特点以及算法的稳定性等因素。原创 2024-06-06 12:51:50 · 1389 阅读 · 0 评论 -
单向循环链表--约瑟夫问题
约瑟夫问题是一个经典的计算机科学和数学问题,也被称为约瑟夫环或丢手绢问题。约瑟夫问题起源于一个历史故事,据说古罗马历史学家弗拉维奥·约瑟夫斯和他的40个战友被罗马人围困在一个洞里,他们决定自杀而不是被俘,于是排成一个圆圈,每数到第三个人时,该人就必须自杀,直到所有人都死去。约瑟夫斯和他的朋友并不想遵从这一决定,通过巧妙的安排自己和朋友的位置逃脱了死亡。在数学和计算机编程中,约瑟夫问题的一般形式是:N个人围成一圈,从某个人开始报数,报到M的人出圈,然后从下一个人继续报数,直到全圈的人都出圈为止;原创 2024-07-21 20:36:38 · 552 阅读 · 0 评论