数据结构
11721206
这个作者很懒,什么都没留下…
展开
-
哈希表建立字典,修改,删除、保存字典
哈希表是记录的存储位置和关键字之间建立的一种映射关系,这个映射关系就是hash函数.1:构建hash函数的方法:直接定植法:平方取中法除留余数法折叠法随机数法在构建hash函数的时候,会存在关键字不一样,但是记录会是一样的情况.key1≠key2,但是f(key1)=f(key2),这里的f就是哈希函数.这种现象就是冲突.解决这种冲突有如下办法:开放定址法(线性探测法)再散列函数法链地址法公共溢出...原创 2018-06-23 14:29:39 · 1366 阅读 · 0 评论 -
二叉树的遍历
输入: [1,null,2,3] 二叉树的遍历在数据结构中是非常基本的算法.如下代码包含的是二叉树的前序遍历、中序遍历、后序遍历三种算法。前序遍历顺序:根节点->左子树->右子树中序遍历顺序:左子树->根节点->右子树后序遍历顺序:左子树->右子树->根节点代码如下所示:#include <iostream> #include <vector&...原创 2018-07-08 17:20:10 · 307 阅读 · 0 评论 -
Manacher算法
背景介绍: 很多类似于如下的问题: 给定一个字符串,求出该字符串的最大回文长度. 比如: s = "abba" s = "hjkjh" 等. 如果用传统的方法进行暴力比较,以其中的每个字符为中心,两边逐渐对比,效率很差.复杂度是O(n^2) 后来有人提出了manacher算法(马拉车算法) 该算法的基本原理是:给定一个字符串hoabccccbacc,然后在该字符串内插入该字符串不...原创 2019-03-01 15:35:05 · 246 阅读 · 0 评论