- 博客(8)
- 收藏
- 关注
原创 数据结构与算法-二叉搜索树(BinarySearchTree)
二叉搜索树是一种高效的数据结构,其特点是每个节点的值大于左子树所有节点,小于右子树所有节点。文章详细介绍了二叉搜索树的基本概念、节点定义和核心操作:插入时保持有序性,查找利用二分特性,删除处理三种不同情况。还讲解了遍历方式(特别是中序遍历可有序输出)及其在数据库索引等场景的应用。性能方面,平衡时操作复杂度为O(logn),但退化为链表时为O(n),因此实际常用平衡二叉树(如AVL树)来优化。
2025-07-15 07:00:00
303
原创 数据结构与算法-树(Tree)和二叉树(BinaryTree)
本文介绍了树结构的基本概念和实现方式。主要内容包括:1)树的基本术语,如根节点、子节点、深度等;2)二叉树的定义、特性和Python实现,包含节点类、插入方法和三种遍历方式(前序、中序、后序);3)二叉搜索树(BST)的实现及其插入、查找和删除操作;4)平衡二叉树(AVL树)的自平衡特性及旋转操作;5)树结构在文件系统、数据库索引等领域的应用。通过代码示例展示了各种树结构的实现方式,强调了树结构在计算机科学中的重要性。
2025-07-15 06:30:00
187
原创 数据结构与算法-哈希表(HashTable)
哈希表是一种高效的数据结构,通过哈希函数将键映射到存储位置,实现O(1)时间复杂度的操作。其核心包括哈希函数设计和冲突处理(链地址法、开放地址法)。当负载因子超过阈值时需要进行动态扩容。哈希表广泛应用于数据库索引、缓存等领域,平均操作时间为O(1),最坏情况下可能退化为O(n)。优化方向包括改进哈希函数、合理设置负载因子和处理冲突的方法。
2025-07-14 07:00:00
600
原创 数据结构与算法(十)-红黑树(RedBlackTree)
红黑树是一种高效的自平衡二叉搜索树,通过节点颜色和旋转操作维持平衡。它具有五个核心性质保证树的高度平衡,使得插入、删除和查找操作的时间复杂度均为O(logn)。插入和删除时可能通过颜色调整和旋转(左旋/右旋)恢复平衡。红黑树广泛应用于C++ STL、Java集合框架和数据库索引等需要高效动态数据操作的场景。这种数据结构在保持良好性能的同时,确保了最坏情况下的操作效率。
2025-07-14 06:30:00
271
原创 MySQL优化之慢日志查询
MySQL慢查询日志是数据库性能优化的重要工具,用于记录执行时间超过设定阈值的SQL语句。通过在配置文件中设置slow_query_log等参数可开启该功能,也可动态调整。分析工具mysqldumpslow和pt-query-digest能有效解析日志内容。常见优化方法包括添加缺失索引、改进分页查询、优化JOIN语句等,结合EXPLAIN分析执行计划。建议定期轮转日志文件并设置监控报警机制。通过综合运用这些技术手段,可以显著提升数据库查询性能。
2025-07-13 07:45:00
564
原创 谈谈HTML5的DOCTYPE元素
HTML5的DOCTYPE声明是文档类型声明,用于指定HTML5标准。其简洁语法为<!DOCTYPE html>,相比早期HTML/XHTML版本更易用。主要作用是触发浏览器标准模式,防止怪异模式导致的布局问题。必须位于文档最开头,否则可能影响渲染。HTML5 DOCTYPE兼容移动端开发和响应式设计,是现代网页开发的基础。正确使用时能确保CSS/JavaScript行为一致,并通过W3C验证。
2025-07-13 07:00:00
346
原创 MySQL哈希索引以及InnoDB自适应哈希索引
摘要:MySQL哈希索引通过哈希函数快速定位数据,适合等值查询但不支持范围查询。InnoDB的自适应哈希索引(AHI)能自动优化高频查询,可通过参数配置和监控命中率进行调优。在InnoDB中可通过创建辅助表模拟哈希索引,适合读多写少场景。实际应用中需权衡查询性能与写入开销,合理选择索引方案。(149字)
2025-07-12 12:43:27
349
原创 InnoDB主键索引树和二级索引树
InnoDB存储引擎采用B+树作为索引结构,主键索引(聚簇索引)的叶子节点存储完整数据记录,而非叶子节点存储键值和指针,通常3-4层高,支持千万级数据查询。二级索引同样使用B+树,但叶子节点仅存储主键值,查询需回表操作。复合索引遵循最左前缀原则,索引维护涉及插入、删除和更新操作。通过EXPLAIN分析、强制索引和计算索引选择性可优化查询性能。索引存储在16KB的页中,会动态进行分裂与合并。代码示例展示了索引创建、查询和维护的具体操作,以及性能优化和监控方法。
2025-07-12 12:42:18
476
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人