- 博客(23)
- 收藏
- 关注
原创 c语言哈希表
哈希表又称散列表,是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。
2023-03-16 20:31:18
777
原创 线性表查找算法
否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。如果遍历完整个序列仍没有找到与目标相等的元素,表明序列中不包含目标元素,查找失败。二分查找又称折半查找、二分搜索、折半搜索等,是在分治算法基础上设计出来的查找算法,对应的时间复杂度为O(logn)。顺序查找算法又称顺序搜索算法或线性搜索算法,是所有查找算法中最基本、最简单的,对应的时间复杂度为O(n)。顺序查找算法既可以在有序序列中查找目标元素,也可以在无序序列中查找目标元素。
2023-03-11 19:58:55
361
原创 线索二叉树
通过遍历二叉树,我们可以得到一个线性序列,其中包括前序,中序,后序等等,而其中每个结点都一一对应着前驱和后继结点(即在前序等等遍历中得到的线性序列中在某一结点前面和后面的结点)。当二叉树以链表作为存储结构时,只能找到结点的左右孩子信息 ,而不能直接得到结点在任一序列中的前驱和后继信息,这种信息只有在遍历的动态过程中才能得到。为此引入线索二叉树来保存这些在动态过程中得到的有关前驱和后继的信息。
2023-03-06 19:36:14
312
原创 快速排序算法
快速排序(英语:Quicksort),又称分区交换排序(英语:partition-exchange sort),简称「快排」,是一种被广泛运用的排序算法。其具有在绝大多数情况下相当优异的性能。
2023-02-24 19:17:31
587
原创 寒假学习总结
而回溯算法本质上就是穷举法,其按深度优先策略搜索问题的解空间树,首先从根节点出发搜索解空间树,当算法搜索至解空间树的某一节点时,先利用剪枝函数判断该节点是否可行(即能得到问题的解),如果不可行,则跳过对该节点为根的子树的搜索,逐层向其祖先节点回溯;取区间中最左或最右边的元素为key,定义两个变量,这里假设是p和q,q从区间的最右边向左走,找到比key小的元素就停下.p从最左边向右走,找到比key大的元素就停下.然后交换p和q所指向的元素,便完成了排序。③Ls是广义表的名字,n为它的长度。
2023-02-15 22:02:14
181
原创 数据结构 哈夫曼树知识简介
给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。
2022-11-09 20:49:49
316
原创 数据结构 二叉树
二叉树是n个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个节点。
2022-11-02 18:50:58
79
原创 python爬虫之创建表格
其中括号内前两格为表格的行列位置,第一个为行数,第二个为列数.最后输入需要写入的数据.如上,注意以xls文件形式保存.即可在py文件所在的文件夹里发现名为xxx的表格文件。我们需要先使用Workbook函数来创建excle里的workbook。括号内可以输入workbook的对应编码方式,如utf-8等等.在终端输入 pip install xlwt即可下载.在创建表格excle之前,我们需要下载xlwt模块.然后我们就可以在其中加入sheet,即表格.下载完毕后,即可开始使用.
2022-10-25 15:45:37
1003
1
原创 c语言问题(1)
猴子第一天摘下若干个桃子,当天吃了一半,后面又多吃一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。后面每天猴子都吃了前一天剩下的一半零一个。到第十天想再吃时,只剩下一个桃子。求第一天共摘了多少桃子。
2022-10-25 14:51:44
113
原创 python 快速上手xapth使用
xpath即为XML路径语言,它可以根据输入的限定的范围来获取相应的数据信息。而且它同样可以提取html文件中的数据。本文着重介绍如何提取html的信息。
2022-10-14 18:45:01
512
原创 python 爬虫初步
ua,即user-agent,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等等。点击进入浏览器,单击右键,再点击检查就能看到网页的检查元素工具,上面找到网络,进入任意文件查找(如果没有文件就刷新网页)找到标头,其中就要请求头,里面就有相关的ua信息了。总之,html可以简单理解为网页的编写语言,网页的各种功能都是由它来实现的。爬虫首先要做的第一步就是获取所需信息所在的网页地址,这时就需要我们的requests库。
2022-10-09 20:19:20
193
原创 c语言高级数据表达之单链条
单链条是一种以链式存取的数据的结构,其主要利用结构体指针来实现不同数据的环环相链。其主要由节点组成,头链式中还有头指针始终指向单链中的第一个节点,生成头节点一般不参与实际输入数据存储,但可以实现其他用途,本文暂不做介绍。链条作为一种高级数据表达有其独特的优势,它可以轻易实现通常数组不能做到的随输入数据的不同而实时变化分配数据,以及可以根据输入以及逻辑语句来删减或添加相应节点。
2022-09-20 22:55:43
755
原创 C语言结构体知识
首先,我们要声明结构体的模板。其形式如下struct name【结构体名】{int;double;等等数据类型的变量};例如 struct week {int monday;例子中我们将week作为结构体标记,然后在括号内输入了三个变量名,这样我们就完成了对week这个结构的声明。该声明目的是为了勾勒结构体中储存的数据类型,为接下来的定义结构变量做好所谓模板。有了模板,我们就可以在任意函数中定义结构变量,其形式如下struct 结构体 结构变量名;.............................
2022-08-30 22:26:15
223
原创 c语言指针的运用——函数间通信
函数中的变量通常为局部变量,它们属于函数私有,不同函数间的即使是同名变量也互不影响,这也使得在某些情况下,函数中的某些变量的值传递给另一个函数后实际上并不能影响到主函数的变量。而指针则提供了解决函数间通信的办法。..................
2022-08-27 23:09:51
1081
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人