自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 散列表(Hash)包含用数论对散列函数分析,和数据结构实现以及冲突解决--分离链接法(C语言)

例如当关键词是十进制的时候,m不能是10的3次方。类似的利用一个可以整除b^key ± a的数也是不明智的,其中key和a模m来说是较小的整数,在这种情况下,h(key)会强烈的依赖关键词的某几位数,并且相似的却重排了数字顺序的不同关键词可能会被发送到一个存储单元中。我们设一个关键词为key,再设一个正整数素数m,让m去与key做模运算然后将他定义为散列函数h(key),函数表达式为:h(key) ​≡key(mod m),他的含义是,函数h的值为key和m做取模运算,结果是key模m的最小正剩余。

2023-03-27 21:38:29 290

原创 线性表ADT“基数排序”&“多重表”(C语言实现)

让我们先来谈论一下基数排序(radix sort)举例说明:设我们有5个数字, 范围在0-999之间,我们将其排序大小。需要注意的是我们熟悉的自然排序就是通过最高有效位去比对大小(就是两个数字先比较最高位的那个位来比较大小),但这样并不能使算法正确,所以我们引入通过最低有效位然后比道最高有效位来比较大小,如下图所示其中,0 1 2 3 4 5 6 7 8 9可以看作方便排序的一个队列。

2023-03-19 22:43:15 185

原创 线性表ADT(C语言实现)

对于一个用数组实现的普通表,通常情况C语言不允许对数组的长度进行动态定义。所以我们需要对表空间的最大值进行预估。而这样容易浪费大量的空间。并且,数组表所花费的时间复杂度,也是高昂的,例如做插入与删除算法时,在某个位置插入一个新的元素,这需要后面的所有元素后移一个位置,则做插入与删除算法时,最坏情况的时间复杂度为O(n)。所以我们引入一个新的线性表“链表”

2023-03-18 17:03:03 550 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除