数据结构
java冢狐
这个作者很懒,什么都没留下…
展开
-
栈的应用—算数表达式求值
对于一个带有括号的算数表达式来说,麻烦的点在于对于括号的处理,在这里我们使用两个栈分别存储运算符和数值然后再对于相应的情况进行处理。简单方便起见我们假设表达式中没有省略任何括号。对于表达式我们根据四种情况从左到右送入栈中:1.将操作数送入操作数栈。2.将运算符压入运算栈。3.忽略左括号4.遇到右括号时,弹出相应运算符合所需运算数,将其结果压入操作数栈中...原创 2019-09-10 17:10:34 · 592 阅读 · 0 评论 -
索引和B+树
索引和B+树前言定义问题几种常见的数据结构对比散列表(哈希表)链表跳表B+树平衡二叉树B+树页分裂与页合并根据索引查找行记录B+树总结索引和B+树前言为啥索引常用 B+ 树作为底层的数据结构除了 B+ 树索引,你还知道什么索引为啥推荐自增 id 作为主键,自建主键不行吗什么是页分裂,页合并怎么根据索引查找行记录定义问题日常需求...原创 2020-04-01 15:38:23 · 320 阅读 · 0 评论 -
B树完全攻略
B树二叉搜索树定义所有非叶子节点至多拥有两个儿子(LEFT和RIGHT)所有节点存储一个关键字非叶子节点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树二叉树的搜索从根节点开始,如果查询的关键字与结点的关键字相等,那么就命中如果查询关键字比结点关键字小,就进入左结点如果查询关键字比结点关键字大,就进入右结点如果左节点或右结点的指针为空,则报告找不到 如果二叉搜索树的所有非叶子结点的左右子树的结点数目均差不多(平衡)那么二叉树的搜索性能逼近二分查找;但是它比连原创 2020-08-07 13:51:27 · 373 阅读 · 0 评论