Java中类图
PlantUML 代码在线uml链接:https://uml.zhiyuanye.com/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000 系统描述 车辆(Vehicle) 基类,包含车辆的通用属性和方法。 汽车(Car) 继承自车辆(继承)。 电动车(ElectricCar) 继承自车辆,并实现充电接口(Chargeable)(实现)。 引擎(Engine) 与汽车相关联(关联)。 车库(Garage) 包含车辆的集合(聚合)。 车主(Owner) 与车库绑定的组成部分(组合)。 1234567891011121314151617181920212223242526272829303132333435363738394041424344@startumlinterface Chargeable { + charge(): void}class Vehicle { - brand: String - model: String +...
阿三
简答题1. 什么是用户中心设计(UCD)? 用户中心设计(UCD)是一种设计过程,它将用户的需求、偏好和限制放在设计的中心,以确保最终产品能够满足用户的实际需求。 UCD 强调在设计和开发过程中用户的参与,通过迭代的方法不断改进设计,直至满足用户的需求。 UCD 的应用可以提高产品的可用性、用户满意度和市场竞争力。 2. 原型制作的目的是什么? 原型制作的目的是为了在实际投入大量时间和资源开发最终产品之前,验证设计的概念和功能。 原型可以帮助设计团队发现潜在的设计问题,从而在早期阶段进行调整和优化。 原型还可以用于用户测试,收集反馈,以便更好地理解用户需求和偏好。 3. 什么是启发式评估? 启发式评估是一种由专家进行的评估方法,他们根据一组既定的启发式原则来评估产品的用户界面。 这种方法不需要实际用户参与,而是依赖专家的经验来识别可能的可用性问题。 启发式评估的目的是快速识别和修复界面设计中的问题,提高产品的用户体验。 4....
异常处理
其他复习见https://github.com/pique2233/C-/blob/main/在%20Java%20中.pdf 题目 1:123456public class ArrayTest { public static void main(String[] args) { int[] arr = {1, 2, 3}; System.out.println(arr[5]); }} 结果—错误原因ArrayIndexOutOfBoundsException 是非受检异常,表示数组越界。由于它是 RuntimeException 的子类,编译器不会强制要求捕获或声明该异常。此异常发生时,程序会终止。 修复方案:可以使用 try-catch 捕获异常,避免程序终止 12345678910public class ArrayTest { public static void main(String[] args) { try { ...
STL
STL 容器基于红黑树的插入、删除、查找复杂度1. map 插入:O(log n)插入时根据键值调整红黑树,保持平衡。 删除:O(log n)删除某节点后需要调整红黑树结构以维持平衡。 查找:O(log n)通过键值在树中查找对应的元素。 2. multimap 插入:O(log n)允许键值重复,但依然保持红黑树结构平衡。 删除:O(log n)删除某个特定键值对,红黑树会自动调整平衡。 查找:O(log n)查找特定键值对应的所有元素。 3. set 插入:O(log n)不允许重复元素,插入时会检查是否已存在。 删除:O(log n)删除元素后调整红黑树以维持平衡。 查找:O(log n)根据键值查找特定元素。 4. multiset 插入:O(log n)允许重复元素,插入时红黑树保持平衡。 删除:O(log n)删除某个元素后需要调整树的平衡。 查找:O(log n)查找所有匹配的键值元素。 总结红黑树提供了高效的 对数复杂度,保证了插入、删除和查找操作的性能。这些容器适用于需要自动排序和快速查找的场景。 STL 容器的复杂度分析5....
队列
STL pair 的详细介绍1. 什么是 pair pair 是一个简单的模板类,用于将两个类型不同的值绑定在一起,形成一个二元组。 它常用于函数返回多个值、构建键值对以及配合 STL 容器(如 map 和 multimap)使用。 pair 定义在 <utility> 头文件中。 2. pair 的底层实现pair 是一个模板类,其定义如下: 123456789101112131415template <class T1, class T2>struct pair { T1 first; // 第一个值 T2 second; // 第二个值 // 默认构造函数 pair() {} // 带参数的构造函数 pair(const T1& x, const T2& y) : first(x), second(y) {} // 拷贝构造函数(支持类型转换) template <class U, class V> ...
二叉树
二叉树的定义二叉树的基本结构体定义123456struct TreeNode{ int val; TreeNode*left; TreeNode*right; TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}} 遍历方式深度优先遍历 前序遍历(中左右) 中序遍历(左中右) 后序遍历(左右中)这并不难理解,可以用迭代和递归的方式实现12345678910111213141516171819202122232425void preordertraversal(TreeNode*root){//递归版本 if(root==nullptr){ return; } // cout<<root->val; preordertraversal(root->left); preordertraversal(root->right)}void...
演讲稿
Reinforcement Learning in Game AI: Opportunities and Challenges Good evening everyone, I know we all play games, such as King of Glory or Fearless Contract,when our teammates are very bad, maybe we will say that they are man-machine, in Chinese, “man-machine”, but my research is aimed at changing these views, making man-machine become emotional and intelligent Slide 1: Introduction - Game AI and RLWhy are games the best test environment for RL? Games provide dynamic rules, complex...
迭代器
C++ 中的迭代器(Iterators)详解1. 什么是迭代器?迭代器是 C++ 提供的一种通用接口,用于访问和遍历容器中的元素。它是指向容器元素的“指针”,可以实现与普通指针类似的操作(如递增、解引用等)。 特点: 抽象化:提供统一的接口操作不同类型的容器。 灵活性:支持容器的遍历、插入、删除等操作。 类型安全:迭代器类型根据容器自动匹配。 2. 迭代器的分类根据功能和用途,C++ 中的迭代器分为以下几类: 类型 特性 支持操作 示例容器 输入迭代器(Input Iterator) 只读访问容器中的元素,支持单向移动 ++、* istream_iterator 输出迭代器(Output Iterator) 只写容器中的元素,支持单向移动 ++、*(用于写入) ostream_iterator 前向迭代器(Forward Iterator) 支持只读或读写,支持单向移动 ++、* forward_list 双向迭代器(Bidirectional...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment