
数据结构和算法
文章平均质量分 73
数据结构和算法确实是软件工程中非常核心且基础的两个部分。在软件工程实践中,理解和熟练掌握各种数据结构与算法对于编写高质量、高效率的软件至关重要,它们有助于开发者更好地分析问题、设计解决方案,并确保软件系统在面对大规模数据和复杂计算时仍能保持高效稳定。
小王师傅66
1、具有多年高并发、分布式项目实战经验,支持千万并发下单,曾深度参与冬奥会用车项目;
2、分库分表经验;
3、项目重构经验;
4、具有一定带队经验;
5、跨专业学习计算机,双证毕业,并获取了软件工程师证书。
展开
-
【算法】Java-二叉树的右视图(BFS、DFS两种解法)
这道题的解法有很多,分享这两种解法的原因是在做这道题时,我感受到了自己的一点点质变。方法一,对队列的熟练应用。方法二,深度理解了递归的过程,后面还要继续应用,继续体会。学习算法增加了我看问题的视角,经常感叹“原来可以这样”,“居然还能这样”,“这人想的真好”之类。但我们知道“知道”和“做到”之间,有一条“鸿沟”,用新的“知道”的方法解出题的感觉真是太棒了,我做到了!当然,过程非常不容易,经常有些题目都看不懂,或者别人的思路理解不了。这时候,我们要想想,这道题难度是不是太大了,如果太大,要降低难度;原创 2024-01-14 19:09:44 · 1481 阅读 · 3 评论 -
【算法】Java-使用数组模拟单向链表,双向链表
数组实现链表,一个数组用于存放数据,一个数组存放"指针",这里的指针用数组下标代替。如果是双向链表,要用两个数组存放指针。同时要注意首节点和尾结点的记录方法。在实现双链表时,我曾用两个变量表示首尾节点,对比起来,没有用e[0],e[1]表示简洁,而且非常容易搞混。占用第0位和第1位保存链表头和尾时要注意初始的idx=2,第k个插入的元素的索引下标是k+1。大家可以使用更多方法实现,过程虽然曲折,但一顿操作下来,对链表的操作会非常的熟练。原创 2023-09-11 18:04:32 · 415 阅读 · 0 评论 -
【算法练习】4种反转链表的方法(Java实现)
几种链表反转方法的主要区别在于迭代法和递归法是在原链表上直接反转,无需额外空间;而头插法和栈辅助需要 O(N) 的额外空间。一般迭代法代码最简洁,递归法需要处理终止条件,但思路清晰。原创 2023-08-17 15:01:30 · 6094 阅读 · 0 评论 -
【算法】二叉排序树:创建二叉树,并以中序遍历输出
常见的二叉树:二叉树定义:在计算机科学中,二叉树是每个结点最多有两个子树的树结构demo:1、创建节点类:Nodepublic class Node { private Node left; // 左子节点 private Node right; // 右子节点 private int data; // 节点的值 public Node(int data){...原创 2018-08-19 20:32:04 · 2921 阅读 · 2 评论