review_ds

本文概述了数据结构的三大部分:线性结构、非线性结构和排序查找,并详细解释了算法的空间复杂度与时间复杂度的概念,包括常数阶、线性阶、平方阶、立方阶和对数阶等不同阶数。同时介绍了阶乘、取整函数(floor、ceiling)、对数及其应用,如编码、折半查找和递归。还阐述了接口在实现多继承中的作用及.NET中常用接口的使用方法。

数据结构三大部分:线性结构,非线性结构,排序查找。


算法空间复杂度:算法在运行过程中临时占用的存储空间大小,即包括局部变量所占用的存储空间和系统使用递归所占用的堆栈空间。


算法 时间复杂度:

如果算法没有循环,算法基本操作的执行频率与问题规模n无关,记做O(1),叫做常数阶。

如果只有一个循环,记做O(n), 线性阶。

常用的还有平方阶,立方阶,对数阶O(log2n).

阶乘: 5!= 1*2*3*4*5 = 120.

Floor:取下整。

Ceiling:取上整。

对数:a的b次方=c,那么logac = b。

对数常用地方:

  1. 对象编码,表示n个编码需要多少位,即log2n=位数。
  2. 用于把问题分解成更小问题,折半查找一个长度为n的线性表,一共需要log2n次。
递归:通过一系列的自身调用,达到某一终止条件后,再按照调用路线逐步返回。
public static long fact(int n){
 if(n <=1){
  return 1;
}else{
  return n* fact(n-1);

}
}

接口:接口的目的是为了实现多继承,如果一个类想仅仅通过继承另外一个类来实现多继承是不可能的,这时就需要接口。
.net常用接口:
IComparable
IEnumerable
IEnumerator
ICollection
IDictionary
IList
这几个接口的详细使用。

非线性结构:
树的特征:一对多(一个父,一个或多个子)。


/* Navicat Premium Dump SQL Source Server : EHS_DS Source Server Type : SQL Server Source Server Version : 15004261 (15.00.4261) Source Host : 10.50.52.34:1433 Source Catalog : EHS_DS Source Schema : dbo Target Server Type : SQL Server Target Server Version : 15004261 (15.00.4261) File Encoding : 65001 Date: 05/11/2025 13:42:43 */ -- ---------------------------- -- Table structure for safety_hazard_review_record -- ---------------------------- IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[safety_hazard_review_record]') AND type IN ('U')) DROP TABLE [dbo].[safety_hazard_review_record] GO CREATE TABLE [dbo].[safety_hazard_review_record] ( [id] int IDENTITY(1,1) NOT NULL, [recheck_no] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, [oridinal_ref] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, [original_source] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, [title] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL, [description] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL, [urgency_level] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, [required_complete_time] datetime NULL, [assignee] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, [assigned_time] datetime NULL, [status] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, [recheck_result] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, [recheck_description] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL, [actual_complete_time] datetime NULL ) GO ALTER TABLE [dbo].[safety_hazard_review_record] SET (LOCK_ESCALATION = TABLE) GO EXEC sp_addextendedproperty 'MS_Description', N'主键id', 'SCHEMA', N'dbo', 'TABLE', N'safety_hazard_review_record', 'COLUMN', N'id' GO EXEC sp_addextendedproperty 'MS_Description', N'复查单号', 'SCHEMA', N'dbo', 'TABLE', N'safety_hazard_review_record', 'COLUMN', N'recheck_no' GO EXEC sp_addextendedproperty 'MS_Description', N'原始隐患单编号', 'SCHEMA', N'dbo', 'TABLE', N'safety_hazard_review_record', 'COLUMN', N'oridinal_ref' GO EXEC sp_addextendedproperty 'MS_Description', N'原始数据来源', 'SCHEMA', N'dbo', 'TABLE', N'safety_hazard_review_record', 'COLUMN', N'original_source' GO EXEC sp_addextendedproperty 'MS_Description', N'复查标题', 'SCHEMA', N'dbo', 'TABLE', N'safety_hazard_review_record', 'COLUMN', N'title' GO EXEC sp_addextendedproperty 'MS_Description', N'复查描述', 'SCHEMA', N'dbo', 'TABLE', N'safety_hazard_review_record', 'COLUMN', N'description' GO EXEC sp_addextendedproperty 'MS_Description', N'紧急程度 低 中 高', 'SCHEMA', N'dbo', 'TABLE', N'safety_hazard_review_record', 'COLUMN', N'urgency_level' GO EXEC sp_addextendedproperty 'MS_Description', N'要求完成时间', 'SCHEMA', N'dbo', 'TABLE', N'safety_hazard_review_record', 'COLUMN', N'required_complete_time' GO EXEC sp_addextendedproperty 'MS_Description', N'指派人', 'SCHEMA', N'dbo', 'TABLE', N'safety_hazard_review_record', 'COLUMN', N'assignee' GO EXEC sp_addextendedproperty 'MS_Description', N'指派时间', 'SCHEMA', N'dbo', 'TABLE', N'safety_hazard_review_record', 'COLUMN', N'assigned_time' GO EXEC sp_addextendedproperty 'MS_Description', N'状态', 'SCHEMA', N'dbo', 'TABLE', N'safety_hazard_review_record', 'COLUMN', N'status' GO EXEC sp_addextendedproperty 'MS_Description', N'复查结果', 'SCHEMA', N'dbo', 'TABLE', N'safety_hazard_review_record', 'COLUMN', N'recheck_result' GO EXEC sp_addextendedproperty 'MS_Description', N'复查说明', 'SCHEMA', N'dbo', 'TABLE', N'safety_hazard_review_record', 'COLUMN', N'recheck_description' GO EXEC sp_addextendedproperty 'MS_Description', N'实际完成时间', 'SCHEMA', N'dbo', 'TABLE', N'safety_hazard_review_record', 'COLUMN', N'actual_complete_time' GO EXEC sp_addextendedproperty 'MS_Description', N'安全隐患复查记录表', 'SCHEMA', N'dbo', 'TABLE', N'safety_hazard_review_record' GO -- ---------------------------- -- Auto increment value for safety_hazard_review_record -- ---------------------------- DBCC CHECKIDENT ('[dbo].[safety_hazard_review_record]', RESEED, 1) GO -- ---------------------------- -- Primary Key structure for table safety_hazard_review_record -- ---------------------------- ALTER TABLE [dbo].[safety_hazard_review_record] ADD CONSTRAINT [PK__safety_h__3213E83FFF49EEEC] PRIMARY KEY CLUSTERED ([id]) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] GO 给我生成一个Java中的实体类
11-06
以下是根据你提供的 SQL Server 表 `safety_hazard_review_record` 生成的 **Java 实体类(Entity Class)**,适用于 Spring Boot、MyBatis 或 JPA 等常见 Java 框架。 --- ### ✅ Java 实体类:`SafetyHazardReviewRecord.java` ```java package com.ehs.entity; import java.util.Date; /** * 安全隐患复查记录表实体类 */ public class SafetyHazardReviewRecord { private Integer id; // 主键id private String recheckNo; // 复查单号 private String oridinalRef; // 原始隐患单编号(注意:字段名拼写为 oridinal_ref) private String originalSource; // 原始数据来源 private String title; // 复查标题 private String description; // 复查描述 private String urgencyLevel; // 紧急程度 低 中 高 private Date requiredCompleteTime; // 要求完成时间 private String assignee; // 指派人 private Date assignedTime; // 指派时间 private String status; // 状态 private String recheckResult; // 复查结果 private String recheckDescription; // 复查说明 private Date actualCompleteTime; // 实际完成时间 // ------------------------------- // Getter 和 Setter 方法 // ------------------------------- public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getRecheckNo() { return recheckNo; } public void setRecheckNo(String recheckNo) { this.recheckNo = recheckNo; } public String getOridinalRef() { return oridinalRef; } public void setOridinalRef(String oridinalRef) { this.oridinalRef = oridinalRef; } public String getOriginalSource() { return originalSource; } public void setOriginalSource(String originalSource) { this.originalSource = originalSource; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getUrgencyLevel() { return urgencyLevel; } public void setUrgencyLevel(String urgencyLevel) { this.urgencyLevel = urgencyLevel; } public Date getRequiredCompleteTime() { return requiredCompleteTime; } public void setRequiredCompleteTime(Date requiredCompleteTime) { this.requiredCompleteTime = requiredCompleteTime; } public String getAssignee() { return assignee; } public void setAssignee(String assignee) { this.assignee = assignee; } public Date getAssignedTime() { return assignedTime; } public void setAssignedTime(Date assignedTime) { this.assignedTime = assignedTime; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getRecheckResult() { return recheckResult; } public void setRecheckResult(String recheckResult) { this.recheckResult = recheckResult; } public String getRecheckDescription() { return recheckDescription; } public void setRecheckDescription(String recheckDescription) { this.recheckDescription = recheckDescription; } public Date getActualCompleteTime() { return actualCompleteTime; } public void setActualCompleteTime(Date actualCompleteTime) { this.actualCompleteTime = actualCompleteTime; } // ------------------------------- // toString 方法(便于调试) // ------------------------------- @Override public String toString() { return "SafetyHazardReviewRecord{" + "id=" + id + ", recheckNo='" + recheckNo + '\'' + ", oridinalRef='" + oridinalRef + '\'' + ", originalSource='" + originalSource + '\'' + ", title='" + title + '\'' + ", description='" + description + '\'' + ", urgencyLevel='" + urgencyLevel + '\'' + ", requiredCompleteTime=" + requiredCompleteTime + ", assignee='" + assignee + '\'' + ", assignedTime=" + assignedTime + ", status='" + status + '\'' + ", recheckResult='" + recheckResult + '\'' + ", recheckDescription='" + recheckDescription + '\'' + ", actualCompleteTime=" + actualCompleteTime + '}'; } } ``` --- ### 🔍 说明与注意事项: 1. **包名 (`package com.ehs.entity;`)** - 你可以根据项目结构调整包名,如 `com.yourcompany.ehs.model`。 2. **字段命名映射** - 数据库字段使用下划线命名法(如 `recheck_no`),Java 使用驼峰命名法(`recheckNo`),这是标准做法。 - 特别注意:`oridinal_ref` 字段名可能存在拼写错误(应为 `ordinal_ref`),但代码中保留原样以匹配数据库。 3. **类型对应关系** | SQL Server 类型 | Java 类型 | |------------------|-----------| | `int` | `Integer`(包装类更安全) | | `nvarchar(n)` | `String` | | `datetime` | `java.util.Date` | 4. **主键自增** - 在 MyBatis 中可通过 `@Options(useGeneratedKeys = true, keyProperty = "id")` 支持; - 在 JPA 中可用 `@Id @GeneratedValue(strategy = GenerationType.IDENTITY)`。 5. **可选增强功能** - 添加 Lombok 注解(减少样板代码); - 添加 Jackson 注解用于 JSON 序列化; - 添加 JPA/Hibernate 注解做 ORM 映射。 --- ### ✅ 使用 Lombok 的简化版本(推荐) 如果你使用了 [Lombok](https://projectlombok.org/),可以大大简化代码: ```java package com.ehs.entity; import lombok.Data; import java.util.Date; /** * 安全隐患复查记录表实体类(Lombok 版) */ @Data public class SafetyHazardReviewRecord { private Integer id; private String recheckNo; private String oridinalRef; private String originalSource; private String title; private String description; private String urgencyLevel; private Date requiredCompleteTime; private String assignee; private Date assignedTime; private String status; private String recheckResult; private String recheckDescription; private Date actualCompleteTime; } ``` > 只需一个 `@Data` 注解即可自动生成 getter/setter/toString/equals/hashCode。 --- ##
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值