字符串 1、异或运算符 1、这里可以用异或运算符来代替temp进行交换的操作 2、例子 ①异或运算符 while(start<end){ ch[start] ^= ch[end]; ch[end] ^= ch[start]; ch[start] ^= ch[end]; start++; end--; } ②普通写法 while(start&l…
哈希表 1、内容 1、哈希表 1、哈希表就是散列表 2、作用:一般哈希表都是用来快速判断一个元素是否出现集合里 2、哈希函数 1、 2、异位词 1、什么是异位词: 3、总结 1、哈希函数 1、把传入的key映射到符号表上的索引上 2、哈希碰撞 1、就是 处理多个key映射到相同索引上的情景,我们一般用哈希表+链表 3、三种常见的哈希结构 1、数组 …
弗洛伊德算法 1、什么是弗洛伊德算法 1、手算弗洛伊德算法 2、求最短路径力扣1334
链表 1、单链表 1、对于单链表来说。要删除一个节点就需要找这个节点的前一个节点啊 2、让pre.next = temp.next这样才能有用 3、还得注意不能移动头节点啊 2、构建链表 1、对于单链表来说,无论是什么操作,都要找到要操作的节点的前一个节点 2、还有基本结构,就是Node对象创建、value的值还有next的指针。 3、一般我们会构…
数组 1、二分搜索法 1、注意:只要看到面试题里给出的数组是有序数组,都可以想一想是否可以使用二分法 2、还有:同时题目还强调数组中无重复元素 2、双指针 1、数组的快慢指针,主要就是快指针赋给慢指针,然后最终返回慢指针15 2、这是主要思路 3、参考27题、26题 3、滑动窗口 1、本质上也就是一个双指针 2、一般用来解决长度最小的子数 3、注意…
第十五章、面向对象程序设计(15分) 1、5个程序填空 1、C++:类的定义 2、C++:派生类的定义 1、就是继承,c++允许多继承 3、C++:类外定义函数体 4、C++:虚函数和纯虚函数 1、加了virtual关键字,就没了 2、纯虚函数就是java的抽象类abstract 5、C++:对象指针和对象引用 1、 6、Java:类的定义 1、f…
第十四章、数据结构及算法应用(15分) 1、这个是人家写好的代码,我们自己去填空,5个空 1、初始化、时间复杂度、 1、分治法 1、复杂问题分解化,用递归 1、二分查找法 1、双指针+对半取整 2、回溯法 3、贪心算法 1、局部最优,整体可能最优,不绝对。 4、动态规划 1、全局最优 5、总结常见算法特征 1、分治、动态规划 2、回溯法、贪心法 6…
第十三章、UML建模(15分) 1、拿到12到15分的题目 2、用例和类图、对象图、顺序、活动、状态图必须掌握 1、用例图(常考) 1、介绍 1、参与者和用例之间的关系 2、关系包含 包含关系 扩展关系 泛化关系 3、如图 2、用例图 1、扩展关系 A可能用到B,但B不一定用到A 给我的感觉是java继承 2、包含关系 A包含B,就像系统登录功能一…
第十二章、数据库设计(15分) 必须拿到13~15分 1、数据库设计过程 2、ER模型 1、实体间联系类型 1、方框:实体 2、菱形:关系 3、弱实体: 4、圆圈:属性 5、关系 一对一 一对多 多对多 2、E-R图关系模型的转换 1、如图 3、答题技巧 1、找联系 2、特殊关系 3、找主键和外键 4、其他类型 主键 候选码 +1个实体 4、200…
第十一章、数据流图(15分) 1、必须拿12~15分 1、数据流图基本概念 1、如图 2、外部实体 系统外部相关的人 3、加工 输入和输出数据流之间的转换 eg:给面包原料,加工出面包 4、例子,如图 5、DFD图(也是数据流图) 平衡:外部实体给出的顶层图和0层图,都是一样的。保持不变 2、数据字典 1、如图 1、是对数据流图的一种补充说明 2、…