呦西,又是一天。

先来盘开胃菜:

call by value(值传递)/call by reference(引用传递)

1)往方法内传入int等基本类型变量,得到一个拷贝副本(形参),不影响原变量

2)往方法内传入一个类对象,如StringBuffer,拷贝一个副本,此时形参与实参指向同一地址,用形参内方法修改形参内容,实参一起变化

吃了菜再来一棵树歇会(图片来源:二叉树的四种遍历方法笔记)

1)树的类型

1)满二叉树:2^k-1

2)完全二叉树:除最后一层外,其他层均达到最大个数,深度:[log2n]+1

3)二叉排序树:左子树节点值小于根节点,右子树节点大于根子树值

4)平衡二叉树:空树/左子树和右子树的深度之差不超过1,且其左子树和右子树都是平衡二叉树

5)线索二叉树:加上线索(指向节点前趋、后继的指针)的二叉树

例如:

6)最优二叉树(图片来源:哈夫曼树与哈夫曼编码):(哈夫曼树):权值为w1,w2,....wn的n个结点的二叉树中带全路径长度(所有叶子节点带权路径长度之和)最短的树:

构造方法:循环(升序排列,取出最小左左右子树,放入其和至排序中)

带权路径长度:(3+4+5)*3+(1+2)*4=49

哈夫曼树
替换权值

编码:例: C 00   E 010   D 011   B 10   A 11

2)树的遍历

二叉树:时间复杂度O(n)

1)先序遍历:先访问根节点,再遍历左子树、右子树

先序遍历

2)中序遍历:先访问左子树,再遍历根节点、右子树

中序遍历

3)后序遍历:先访问左子树,再遍历右子树、根节点

后序遍历

树转二叉树

树转二叉树

总结:

树的先根遍历(先访问根节点再按照从左到右的顺序遍历子树)与二叉树先序遍历一致

树的后根遍历(先按从左到右的顺序访问每一棵子树再遍历根节点)与二叉树中序遍历一致

森林的先序遍历即从左到右对树进行先根遍历

森林的后序遍历即从左到右对树进行后根遍历

森林转二叉树

3)二叉树的存储结构:

顺序存储结构:用一组连续的存储单元存储二叉树中的结点,缺:空间浪费

二叉树到改造后的完全二叉树
存储状态

链式存储结构:用链表(二叉/三叉链表)来表示一棵二叉树(双亲表示法、孩子表示法、孩子兄弟表示法)

最后来一个甜点:

风险的优先级根据风险暴露设定

风险暴露又称风险曝光度=错误出现率(风险出现率)X错误造成损失(风险损失)

软件设计师备考知识06--树相关推荐

  1. 软件设计师备考知识03

    1 软件维护 1 改正性维护: 在使用过程中,发现了隐蔽的错误会后,为了诊断和改正这些隐蔽错误而修改软件的活动,占总维护工作量的25% 2 适应性维护:  为了适应变化了的环境而而改变软件的活动,占. ...

  2. 软件设计师备考知识05--设计模式

    1 总线 处理机主要由 处理器.存储器.总线组成.总线包括:数据总线.地址总线.控制总线 总线:任何连接两个以上电子元器件的导线 1)芯片内总线:用于在集成电路芯片各部分的连接 2)元件级总线:用于一 ...

  3. 软件设计师备考知识04

    1 排序 1 归并排序: 例:二路归并 将两个有序序列合并成一个有序序列. 过程: 2 关系 1 泛化.概化: 把几类对象类的公共属性和行为抽象为超类,然后其属性和方法被那些子类继承 2 聚合: 一个 ...

  4. 2019年下半年软件设计师备考指南

    2019年下半年软件设计师备考指南 软件设计师考试内容.科目.考试时间.备考方式 考试内容及时间 基础知识 纸考 基础知识 2019-11-09 09:00:00(150分钟) 应用技术 纸考 应用技 ...

  5. 软考中级软件设计师备考建议

     前言 首先我说一下个人对这个考试的一个感受看法,我觉得软件设计师考试并不难,主要是不要被内心的恐惧吓倒,考试中心态真的很重要! 一.中级软件设计师科目包括: (1)计算机与软件工程知识,考试时间为1 ...

  6. 软件设计师c语言做题技巧,干货!软件设计师备考攻略

    原标题:干货!软件设计师备考攻略 软件设计师属于软考中级.可能大家会觉得中级呀,听起来有点难,我一点基础也没有,怎么考中级啊. 大家不用慌,听上去好像很有难度,但如果你备考计划准备的好,其实是可以考过 ...

  7. 软考软件设计师基础知识—法律法规知识

    软考软件设计师基础知识-法律法规知识 视频的地址: https://open.163.com/newview/movie/free?pid=GETVIB0OT&mid=JETVSHAMA 保护 ...

  8. 软件设计师备考(三)——UML(关系和UML图)

    软件设计师备考(三)--UML 一.事物 二.关系 三.UML中的图 1.类图 2.对象图 3.用例图 4.交互图 (1)序列图 (2)通信图 5.状态图 6.活动图 7.构件图 8.部署图 9.包图 ...

  9. 软件设计师备考资料及策略

    参加软考的意义对不同的人来说可能是不一样的,你可能是想在找工作的时候写在简历上加分.积分落户.升职加薪.政策补贴或者是个税抵扣等.本人单纯地只是不想在以后自己的简历上太空,因此参加了考试,我参加了20 ...

最新文章

  1. PostgreSQL — Overview
  2. NOI2015 程序自动分析
  3. boost::range_mutable_iterator相关的测试程序
  4. static作用:静态变量的生存周期和作用域
  5. 【hdu 6444】Neko's loop
  6. vue render 渲染html,详解vue渲染函数render的使用
  7. FlexiGrid使用教程
  8. 交易撮合引擎原理与实现【含源码】
  9. ps教程完整版(来自百度网盘)
  10. 银行系统需要处理的信息
  11. 1. 查询表customer——查询姓名和联系人相同的顾客信息
  12. 深入浅出XTTS:Oracle数据库迁移升级利器(附PPT)
  13. 如何在SharePoint中隐藏回收站
  14. 建行网银盾无法识别怎么办
  15. 2020.2.18 大一寒假训练十一(set)
  16. python报错: arry[i] = t IndexError: list assignment index out of range
  17. 音视频开发系列--H264编解码总结
  18. 机器学习案例丨基于广泛和深入的推荐 - 餐厅评级预测
  19. 达内java培优训练营 2106班
  20. DEEP LEARNING 500 QUESTIONS PDF

热门文章

  1. 通信工程和计算机专业与软件工程专业,从短期和长远来看,哪个专业的前景和钱景更好?
  2. 职业年金退休能拿多少?怎么算的?
  3. The process names are sorted in descending
  4. Error: failed to unmarshal json. invalid character '\'' looking for beginning of value解决方案
  5. cron java_cron表达式
  6. sql server死锁_如何使用扩展事件和SQL Server代理自动执行SQL Server死锁收集过程
  7. power bi 背景图_Power BI桌面脉冲图
  8. ssms,新建查询设置字体_如何在SSMS查询编辑器中使用SQLCMD命令
  9. mysql按照列构建索引_列存储索引增强功能–在线和离线(重新)构建
  10. 像冠军一样创建报告! Reporting Services的提示和技巧