# ExercisesInStyle-2024 **Repository Path**: oschinachen/exercises-in-style-2024 ## Basic Information - **Project Name**: ExercisesInStyle-2024 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-07 - **Last Updated**: 2024-08-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 阅读笔记 ## 第二章 Reference版本,内存占用 ### 练习题思考 1. User的直接朋友和间接朋友,需要上没有说要想当然的实现 两个人是不是有不是朋友那一个问题,不要过渡设计。 2. 此实现没有考虑,a是不是a的直接朋友,a是不是a的直接朋友。如此说来不严谨 ``` System.out.println(a.isDirectFriendOf(a)); false System.out.println(a.isIndirectFriendOf(a)); true ``` ### 第二章 Container优化思考: 相较与之前,将每一个容器的水量都放到容器中,做优化将水量放入组中,找到容器所属组,就能找到容器的水量,避免每个容器都存一份,减少存储空间。 speed1. 只是将水量放入水中,使用set辅助实现容器的连接 speed2. 手写数据结构,使用循环链表实现,往容器加水操作的实现需要获得当前容器的连接数量,再计算 speed3. 记录容器size(即当前容器与几个容器相连),使用并查集,递归实现。 (编程语言一直以来都内置一个递归栈,多年来的发展这块肯定越来越强)使用递归易读,当对应用性能要求不高的情况下(90%),实用递归未尝不可。 并查集使用非递归也能实现,但相比与递归方式代码不那么易读,如果真要使用,从网上搜索代码抄即可。