
数据结构
基尔霍夫原来是码农
学电气的渣渣码农
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构——哈希表
哈希表:通过键值对的方式存储数据,通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表或哈希表;具体解释可以查看其它博文本文使用C语言利用开放寻址线性探测法创建哈希表:#include <stdio.h>#include <stdlib.h>#define hashSize 10 //宏定义哈希表的大小struct hashTable{ int *elem; //利用指针存原创 2021-08-16 15:07:44 · 153 阅读 · 0 评论 -
数据结构——循环队列
为防止队列溢出,通常会少用一个元素空间,即当队列空间的大小为maxsize时,有maxsize-1个元素的时候就认为队列已经满了#include <stdio.h>#include <stdlib.h>#define maxsize 6struct que{ int arr[6]; int front; int rear; int length;};struct que *queInit(stru原创 2021-04-28 12:37:16 · 182 阅读 · 0 评论 -
数据结构和算法前论
四大逻辑结构:集合结构,线性结构,树形结构,图形结构原创 2021-05-08 09:15:07 · 74 阅读 · 0 评论 -
数据结构——串
串的比较:串的比较实际是串中字符的编码。字符编码——字符在对应字符集中的序号。ASCII编码 8位二进制 256中文等其他语言采用:Unicode编码 16位二进制表示一个字符1.当字符串1中的串长小于字符串2的串长,并且字符串1包含在字符串2中,则字符串1小于字符串2.str1 = “caohai”;str2 = “cao”;str1>str2;2.出去相等的字符,在第一个不相等的字符处比较其ASCAII码,谁的ASCAII码大谁就大;str1 = “caohai”;原创 2021-05-10 10:17:00 · 541 阅读 · 0 评论 -
数据结构——树和二叉树
**集合:**数据元素之间除了同属于一个集合外无其他关系;**线性结构:**一对一的关系,如线性表、栈、队列、串;**树形结构:**一堆多的关系;**图形结构:**多对多的关系;树的定义:n个节点的有限集。1.节点个数为0的数称之为空树;2.任一一棵非空树中(n>0):有且仅有一个特定的称为根的节点;非根的节点可分为互不相交的有限集,每个集合本身又是一棵树,这些树称为根的子树。结点的度:子结点树树的度:所有结点度的最大值。树的深度:所有结点里面最大的层数。双亲结点:上层结点(原创 2021-05-22 10:57:42 · 260 阅读 · 0 评论 -
数据结构——根据后序遍历结果和中序遍历结果画出二叉树
根据二叉树的中序和后序遍历结果画出二叉树:1.首先根据后序遍历结果判断根节点(最右边的元素);2.在中序遍历结果中找到该根节点,该节点的左边为根节点的左子树,节点右边为根节点的右子树;3.回到后序遍历中找点左子树在后序遍历中最右边的元素即为左子树的根节点;4.回到中序遍历中找到步骤3中的左子树的根节点,跟步骤2一样判断根节点左子树的根节点对应的其左子树和右子树;循环步骤2,3最后输出结果。...原创 2021-06-10 21:04:26 · 4961 阅读 · 0 评论 -
排序算法总结
影响排序算法性能的几个关键要素:时间性能辅助空间算法的复杂性冒泡排序:如果有n个元素需要进行n-1次比较,每一轮减少一次比较。void bubble(int *arr,int n){ int i = 0; int j = 0; int temp; for(i = 0;i < n-1;i++){ //冒泡次数等于总数-1 for(j = 0 ;j < n-i原创 2021-05-25 10:32:49 · 104 阅读 · 0 评论