首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
C语言知识点、数据结构与算法(C语言)
餘yuqn
创建于2023-07-12
订阅专栏
记录C语言中常用基础知识点以及数据结构中数据结构与算法的简概和用法(C语言版本) —— yuqn202307120220
暂无订阅
共20篇文章
创建于2023-07-12
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
哈夫曼树设计以及哈夫曼编码
一、哈夫曼树又称最优二叉树,每个节点到根节点的权之和最小。 哈夫曼树树设计思路就是:每次选最小的两个节点组成一棵二叉树,并且该二叉树的根节点为两个节点权之和,不断重复上述操作,直到构建出一棵二叉树即可
散列表算法和冲突处理
散列表又称哈希表,散列表是一种数据逻辑结构,通过特定的算法来确定一串散列地址,当需要存放元素的时候,则会存在对应的地址。 1、除留余数法:H(key) = key % p 散列表表长为m,取一个不大于
C语言使用%u打印整数
使用 %u 是以 unsigned(无符号号)的形式打印存在内存中的数字,而在内存中的正整数二进制码首位为0,负整数为1。通过 %u 读取的内容,是不识别该数字在内存中补码的第一位二进制码代表含义,从
数据结构-顺序查找
顺序查找是数据结构中较为常用的算法,主要作用于线性表的查找,也是最简单的查找算法。依次遍历数据,从而找到匹配内容。 算法思路: 1、被查找的线性表L、查询元素K 2、由 0 - L.length (非
数据结构-希尔排序
在使用快速排序的时候,如果数据排序杂乱,那排序消耗的时间将会变得很高,可以先使用希尔排序,将数据总体趋于一个排序状态再使用快速排序,将能极大的减小开销。 算法思路: 1、线性表L,增量di 2、通过不
c语言共用体占用内存计算
c语言中,共用体是一种特殊的数据类型,允许您在相同的内存位置存储不同的数据类型。您可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。共用体提供了一种使用相同的内存位置的有效方式。 通过
数据结构-分块查找
分块查找主要用于线性表局部内元素所在范围是一个有序的结构,将线性表分成多块,且每一块所在的最大范围能够组成一个排序结构表。再使用另外一个线性表进行辅助,记录每一块的数据范围。 算法思路: 1、含有局部
数据结构-插入排序
排序是很常用的算法,排序的种类也有很多种,各种算法都有对应的复杂度,我们可以根据实际情况,选择对应的算法来达到我们的目的。 算法思路: 1、线性表L 2、从头到尾遍历表每个元素L[i],用L[i]与前
数据结构-简单选择排序
简单选择排序应该是排序算法中最直接的了,不断重复遍历线性表,找到最小的元素(这里以升序为主),放到最前面,这就是简单选择排序。 这种方法能够简单粗暴的进行排序,但是消耗的时间非常大,因为每一次都需要遍
数据结构 - 图生成树、森林,以及图的存储结构
图是数据结构中非常重要的逻辑结构,在开发中使用也非常广泛,下面一起讨论图生成树、森林的过程,以及图的存储结构。 一、图生成树 1、深度遍历 (1)、确定起始点(这里以A为起始点) (2)、开始标记路径
"%5.2f" 格式输出
在使用c语言 printf("%5.2f") 输出数据时,需要对原本的浮点型数据进行格式化,那 "%5.2f" 输出来的数据跟原本 "%f" 区别在哪里呢? 输出结果为: 通过上面的代码和打印结果,我
计算机原码、反码、补码
原码是一种计算机中对数字的二进制定点表示方法,其中原码首位数字决定了数字正负性(0为正数,1为负数)。数字是通过补码的方式存储。正数的原码、反码、补码一致;负数反码则是由原码首位不变,其他位取反(0取
C语言中浮点型存储方式
浮点型有单精度浮点型 float 和双精度浮点型 double,下面一起探讨一下浮点型数据在内存中的存储和读取。 为了方便了解,这里先对浮点型存储简单做个总结。(这里有些词只是为了方便了解,并不是官方
数据结构 - 无向图的最小生成树思想(Prim算法、Kruskal算法)
一、Prim算法又叫普里姆算法,无向图的最小生成树算法的一种,算法的原理是点找点,也就是找到权最小的邻近点,再找与这两个点中权最小的邻近点,以此类推,最终就能确定最小的生成树。 1、找最小权的邻近点(
数据结构-折半查找
折半查找主要作用于线性表数据结构查找数据,是查找算法的一种,折半查找在数据量大的表中,能够发挥很大的作用,但是使用折半查找的前提是表数据内容顺序排序。 算法思路: 1、线性表L(这里以升序做参考)、查
数据结构-快速排序
快速排序是线性表的一个排序算法,通过两个指针不断移动来对比元素从而换位。 算法思路: 1、线性表,指向左右两个位置的指针(下标)lp和rp,暂放数据的空间temp 2、先让lp指向开始位置,rp指向结
数据结构-归并排序
归并排序作用于多个表数据段,将多个表的数据依次比较找到最值,不断重复步骤,最终找到一个趋于排序结构。
数据结构 - 树、森林的转换
数据结构中,树和森林都是非常常见的逻辑结构。 一、树 -> 二叉树 1、加线 2、去线 3、调整 二、森林 -> 二叉树 1、每个树转二叉树 2、组合 三、二叉树 -> 树 1、加线 2、去线 3、调
C语言指针指向字符串问题
先看一下代码,总共有三种字符串声明方式,内容都是“hello world!”。 接下来看看输出结果: 可以发现,前面两种结果是不同的,第三种不同。(这里一二和三四本质一样,就不重复介绍)这是因为cha
C语言结构体占用内存计算
c语言中结构体是一种很常见的类型,通过struct修饰,它在内存中也有对应的存储方式。 结构体在存储中,会遵循以下几个规则: 接下来我们看看存储的过程(以上面定义的结构体做例子,假设最大对齐数为8):