数据结构与算法

工作日常2

2022-07-20 研报抽取接口中新增了以下操作逻辑: 机构组织的统计选举操作 组织机构实体与金融指标实体相关联的操作 金融指标变化内容的遍历赋值操作 金融指标有无具体数值的判断操作 在生成节点与边的过程中,将构建逻辑优化为:首先检查节点是否存在,如果不存在则生成该节点并将边的尾节点id赋值为当前节点id;否则到节点字典中寻找当前节点的id并赋值给边的尾节点id。最后检查边是否重复,如果不

Java编程技巧:if-else优化实践总结

文/朱季谦 说实话,其实我很讨厌在代码里大量使用if-else,一是因为该类代码执行方式属于面向过程的,二嘛,则是会显得代码过于冗余。这篇笔记,主要记录一些自己在工作实践当中针对if-else的优化心得,将会不定期地长期更新。 一、使用策略枚举来优化if-else 看到网上蛮多人推荐使用策略模式来优化if-else,但我总觉得,搞一堆策略类来优化大批量if-else,虽然想法很好,但无意之中很可能

【MySQL】索引(B+树详解)

MySQL(五)索引一、索引的减I/O设计1.读取量2.搜索树2.1方向2.2有序3.分多叉3.1B树弊端:3.2B+树3.2.1非叶子-搜索字段3.2.1.1海量分叉3.2.1.1.1最大式3.2.1.1.2最快式3.2.1.2缓存内存3.2.1.2.1字段总量小3.2.1.2.2时间复杂度3.2.1.3区间搜索向下保留3.2.1.3.1过程3.2.1.3.2模式3.2.1.3.3效果3

C++ Vector算法精讲与底层探秘:从经典例题到性能优化全解析

前引:在C++标准模板库(STL)中,vector作为动态数组的实现,既是算法题解的基石,也是性能优化的关键战场。其连续内存布局、动态扩容机制和丰富的成员函数,使其在面试高频题(如LeetCode、洛谷)中频繁登场。本文聚焦​​六大经典算法场景​​&#xff

531.【博客开发】服务端接口实现(一)

由于整个博客是前后端分离的,并且接口规范主要使用的是 graphql(对于前端的界面不会有什么侵入性)。所以我这先把服务端的接口给实现了。 一、实体类实现 在做服务端——数据库表结构设计时,已经实现完了。 二、实体查询、删除、创建的数据库访问代码实现 由于所有维度数据访问接口约定为:全部支持分页。因此服务端无须做访问单条数据的代码实现。(即使是单条数据,也返回一个列表)(也是为了简化考虑)。 1.

【数据结构与算法】206.反转链表(LeetCode)

反转链表 问题描述给定单链表的头节点 head,要求反转链表并返回反转后的链表头节点。题目传送门 思路一:创建新链表头插法核心思路:创建新链表,将原链表中的节点拿来头插 算法步骤 初始化新链表头节点 newhead 为 NULL 使用指针 pcur 遍历原链表 每次循环中: 保存 pcur 的下一个节点&#xff08

582.缺陷解决(上)

经过零零散散一周的时间,今天问题终于解决了。 在昨天的文章缺陷描述中描述了缺陷的概况。 现在这个缺陷主要分为两部分:一个是是影像的必要性校验如何去掉;另外一个是影像插件是怎么回复正常。 今天先说一下第一个是如何解决的。 我咨询了其他同事,她说正常的业务流程应该有必要性这个校验的。有的同事,可能会通过信贷工厂准入中把目前所在机构移除,从而跳过必要性校验,业务流程可以正常提交。 还有另外一种解决办法,

Spring Security 中,想在权限中使用通配符,怎么做?

小伙伴们知道,在 Shiro 中,默认是支持权限通配符的,例如系统用户有如下一些权限: system:user:add system:user:delete system:user:select system:user:update ... 现在给用户授权的时候,我们可以像上面这样,一个权限一个权限的配置,也可以直接用通配符: system:user:* 这个通配符就表示拥有针对用户的所有

MyBatis 流式查询

基本概念 流式查询指的是查询成功后不是返回一个集合而是返回一个迭代器,应用每次从迭代器取一条查询结果。流式查询的好处是能够降低内存使用。 如果没有流式查询,我们想要从数据库取 1000 万条记录而又没有足够的内存时,就不得不分页查询,而分页查询效率取决于表设计,如果设计的不好,就无法执行高效的分页查询。因此流式查询是一个数据库访问框架必须具备的功能。 流式查询的过程当中,数据库连接是保持打开状态的