![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
pigpigpi
这个作者很懒,什么都没留下…
展开
-
动态规划
1.1 多阶段决策问题及实例多阶段决策问题多阶段决策问题很多,比如最短路线问题,机器负荷问题等等,把解决这一类问题的的方法称为动态规划方法。1.2 动态规划的基本概念1.阶段将所给问题的过程,恰当的分为若干相互联系的阶段,以便能按一定的次序求解问题。阶段的划分一般是根据时间和空间的特征进行的,但是要能够把问题的过程转化为多阶段决策问题。2.状态状态表示每个阶段开始所处的自然状况或者客观条件。比如在最短线路问题中,线路网络图如下:途中连线的数字表示花费,问题是求得一条从A到G的最小花费路线原创 2020-10-18 11:47:50 · 2841 阅读 · 0 评论 -
二叉树的节点数+增删改
二叉树的节点1.获得二叉树的节点个数public int getAns(TreeNode root) { // write your code here HashMap map = new HashMap(); map.put("max",1); if(root == null) { return 0; } findMax(root,map); return (int)m原创 2020-10-16 16:14:30 · 362 阅读 · 0 评论 -
树的前中后序遍历+树的高度和节点数
树的前序遍历+中序遍历+后序遍历基于对数组和链表的存储优缺点分析,这里按照需求引进了一种新的数据结构,树它可以在增删改查上都保持高效率创建如下图所示的二叉树,并分别使用三种顺序遍历:代码实现:package Tree;public class BinaryTreeDemo { public static void main(String[] args) { //测试 BinaryTree bt = new BinaryTree(); /原创 2020-10-10 15:40:52 · 383 阅读 · 0 评论 -
双向链表的增删
双向链表在删除节点时不需要找到要删除节点的前一个结点,这是比较好的,但是增删都要同时处理前后两个指针的问题,package SingleLinkedList;//实现双链表的增删改查功能public class twoLinkedListDemo { public static void main(String[] args) { //测试类 twoLinkedList tll = new twoLinkedList(); //创建一个节点进原创 2020-08-21 23:41:34 · 167 阅读 · 0 评论 -
单向链表的反转
一.MD5加密原创 2020-08-21 00:00:26 · 107 阅读 · 0 评论 -
带头节点的单链表的增删查改
package SingleLinkedList;public class SingleLinkedListDemo { public static void main(String[] args) { //测试类 heroNode h1 = new heroNode(1,"宋江","及时雨"); heroNode h4 = new heroNode(4,"张顺","浪里白条"); heroNode h3 = new heroNod原创 2020-08-12 23:32:53 · 137 阅读 · 0 评论