logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

数据结构-平衡二叉树——对二叉搜索树的优化

本文介绍了平衡二叉树(AVL树)的概念及其实现方法。AVL树是对二叉搜索树的优化,通过平衡因子(BF)确保树的高度平衡,避免搜索效率从O(logn)退化为O(n)。文章详细解释了四种旋转操作(左旋、右旋、左右型、右左型)及其应用场景,并提供了简单的代码实现。AVL树通过旋转调整保持平衡,确保高效的搜索性能。

#数据结构#算法#c++
数据结构-从二分查找到二叉排序树

本文介绍了二叉排序树(BST)的基本概念、性质及操作。BST是一种左子树值小于节点值、右子树值大于节点值的二叉树,其中序遍历结果为升序序列。文章详细讲解了BST的创建、搜索、插入和删除操作,重点分析了删除节点时的三种情况处理方式。BST通过树形结构实现了类似二分查找的高效搜索,虽然构建需要额外时间,但能有效提升后续查找效率。代码示例展示了BST的核心操作逻辑,为理解这一数据结构提供了实践参考。

#数据结构#c++#算法
双指针-快慢指针(龟兔指针)

快慢指针是一种优化遍历效率的编程思想,通过两个指针以不同速度遍历数据来降低时间复杂度。文章通过数组去重、元素删除和最长不重复子序列三个例题,展示了快慢指针的具体应用。常规暴力解法往往需要多重循环,时间复杂度较高,而快慢指针解法能显著提升效率。最终优化的单层循环解法将时间复杂度降到O(n),体现了快慢指针在算法优化中的重要作用。该思想强调的不是具体算法,而是一种通过指针协作来提高程序效率的思维方式。

#数据结构#c++
计算机层次结构

本文介绍了计算机系统的基本架构和工作原理。主要内容包括:1)计算机硬件系统由运算器、控制器、存储器、输入/输出设备组成,其中CPU(运算器+控制器)和内存构成主机;2)软件系统分为系统软件(如操作系统)和应用软件;3)编程语言从机器语言、汇编语言到高级语言的演变过程及转换方式;4)计算机五层结构体现软硬件协同工作,但二者界限模糊。文章通过逻辑推演阐述了计算机各部件的作用及相互关系,帮助理解计算机系

计算机软硬件发展史

计算机硬件发展经历了四代:电子管(1946-1957,ENIAC为代表)、晶体管(1958-1964,TRADIC)、中小集成电路(1964-1971)和大规模集成电路(1972至今),处理速度从每秒几千次提升到万亿次,存储介质从磁鼓发展到磁盘光盘。微处理器遵循摩尔定律发展,字长和性能持续提升。软件方面,编程语言从机器语言发展到面向对象语言,操作系统从命令行演进为图形界面(DOS→Unix→Win

到底了