数据结构
文章平均质量分 56
时间不早了sss
这个作者很懒,什么都没留下…
展开
-
散列查找 ——哈希查找
散列表相关概念散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)。建立了关键字与存储位置的映射关系,公式如下: 存储位置 = f(关键字)这里把这种对应关系f称为散列函数,又称为哈希(Hash)函数。 采用散列技术将记录存在在一块连续的存储空间中,这块连续存储空间称为散列表或哈希表。那...转载 2018-04-23 18:14:48 · 12073 阅读 · 2 评论 -
二叉查找树的创建、(前、中、后)序遍历(递归)以及遍历算法的应用
二叉查找树的创建首先创建二叉树的结点的结构 //创建一颗二叉树结点的结构 typedef struct node{ int data; //数据域 struct node *right; //指向左子女的指针域 struct node *left; //指向右子女的指针域 }BTNode;然后在创...原创 2018-04-20 19:31:11 · 158 阅读 · 0 评论 -
查找
查找方法顺序查找 二分查找 (折半查找)顺序查找1.适用于顺序表以及链表 2.思想:在某个数据集合从第一个数据元素开始,依次向后查找 3.代码://顺序查找(若找到则返回数组的下标,否则返回-1) int search(int a[],int n,int key){ int flag=-1; int i; for(i=0;i<n;...原创 2018-04-20 20:30:07 · 129 阅读 · 0 评论 -
贪婪算法---哈夫曼树的构建及编码
哈夫曼树相关概念应用领域:压缩(提高了网络的传输效率)编码依据:最优二叉树(哈夫曼树)相关概念: 节点的权(w):赋予叶子结点有意义的值节点的路径长度(L):从根节点到当前节点的个数节点的带权路径长度:w*L一棵二叉树的带权路径长度:二叉树的所有叶子节点的带权路径长度之和最优二叉树:二叉树的带权路径长度最小最优二叉树的特点: 最优二叉树没有单亲节点,只有双亲节点和叶子结点...原创 2018-09-11 11:30:56 · 901 阅读 · 0 评论 -
贪婪算法-----装箱问题
贪婪算法贪婪准则 算法在推进的过程中,每一步都追求最优解贪婪准则一旦确定,中途不能改变贪婪算法求出的最终解不一定是最优解装箱问题问题描述:有若干个体积为V的箱子,有n个体积为V0,V1,V2,V3…….Vn-1的物品要求:把所有物品都装入箱子中,使打开的箱子尽可能少解决思路贪婪准则 将所有物品按体积的降序排序每次取出一个物品(当前未装入物品的体积最大值)遍历所...原创 2018-09-08 22:43:24 · 730 阅读 · 0 评论 -
二叉树按层遍历----非递归实现
算法思路用队列存储左右子女的地址。当从队列中拿出一个节点时,将这个节点的左右子女的地址也放到队列中代码#include <stdio.h>#include <stdlib.h>//二叉树节点的结构typedef struct node{ int data;//存储节点的值 struct node *left,*right;//指向二叉...原创 2018-09-12 10:47:04 · 688 阅读 · 0 评论 -
二叉树的前、中、后序遍历----非递归实现
前言二叉树的前序、中序、后序遍历的非递归实现均采用栈作为中间存储前序遍历思路:现将根节点存储到栈中,然后开始循环:从栈中拿出一个节点,相应的就要将这个节点的非空右子女和非空左子女依次放入栈中。直至栈为空。代码://非递归前序遍历void PreOrder(BTNode *root,int n){ BTNode **S;//存储栈 int top;//栈...原创 2018-09-13 09:46:28 · 229 阅读 · 0 评论 -
贪婪+回溯算法------迷宫问题(递归实现)
前提很明显,初始迷宫的路和墙需要定义和保存,(这里用的迷宫用数组存储,用1表示墙,用0表示未走过的路。)需要明确判断下一步朝哪个方向走?(这里的方向是:下-&gt;右-&gt;上-&gt;左,这里将方向用一个二维数组来存储)如何判断下一步是否在迷宫外?这里的处理是在迷宫数组外加“一堵墙”。这堵墙设值为1。算法过程描述...原创 2018-09-18 11:43:12 · 1331 阅读 · 0 评论 -
平衡二叉树
平衡二叉树的概念它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的作用解决了二叉查找树退化成链表的问题,把插入,查找,删除的时间复杂度最好情况和最坏情况都维持在O(logN)。但是频繁旋转会使插入和删除牺牲掉O(logN)左右的时间,不过相对二叉查找树来说,时间上稳定了很多。平衡二叉树的节点结构package er_cha_shu;...转载 2018-10-17 22:50:10 · 243 阅读 · 0 评论