自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(888)
  • 资源 (19)
  • 收藏
  • 关注

原创 Spring AOP事务实现原理之TransactionSynchronizationManager,ConnectionHolder和DataSource

DataSourceTransactionObject在Spring AOP事务实现原理之事务管理器TransactionManager中有其源码,该类是DataSourceTransactionManager的静态内部类在DataSourceTransactionManager#doGetTransaction()方法中,会通过TransactionSynchronizationManager.getResource(obtainDataSource())方法获取到一个ConnectionHolder

2022-03-18 19:07:58 1522

原创 Spring AOP事务实现原理之事务管理器TransactionManager

TransactionManagerpublic interface TransactionManager {}PlatformTransactionManager这是 Spring 事务基础类中的中心接口。对于实现者,建议从提供的 {@link org.springframework.transaction.support.AbstractPlatformTransactionManager} 类派生,该类实现了事务的传播行为并负责事务同步处理。该类使用了模板模式,子类必须为底层事务的特定状态实

2022-03-16 23:41:17 3326

原创 Spring AOP事务实现原理之事务拦截器TransactionInterceptor

学习这篇博文需要首先明白Spring AOP的实现原理,可以参考Spring的BeanPostProcessor扩展点实现类AbstractAutoProxyCreator和Spring AOP创建代理类之JdkDynamicAopProxy这两篇博文。TransactionInterceptor该类是Advice实现类,用于对事务性的方法进行拦截,使用通用 Spring的事务基础类(PlatformTransactionManager/ReactiveTransactionManager)进行声明式

2022-03-16 23:32:35 4947

原创 Spring AOP事务实现原理之事务属性源AnnotationTransactionAttributeSource

AnnotationTransactionAttributeSource该类读取Spring的 {@link Transactional} 注解并将相应的事务属性TransactionAttribute暴露给 Spring 的事务管理器,如PlatformTransactionManager,ReactiveTransactionManager。还支持 JTA 1.2 的 {@link javax.transaction.Transactional} 和 EJB3 的 {@link javax.ejb.

2022-03-16 23:29:44 657

原创 Spring AOP事务实现原理之BeanFactoryTransactionAttributeSourceAdvisor

学习这篇博文需要首先明白Spring AOP的实现原理,可以参考Spring的BeanPostProcessor扩展点实现类AbstractAutoProxyCreator和Spring AOP创建代理类之JdkDynamicAopProxy这两篇博文。BeanFactoryTransactionAttributeSourceAdvisor由 {@link TransactionAttributeSource} 驱动的advisor,用于为事务性方法包含一个事务advice bean。public c

2022-03-16 23:26:24 1064

原创 Spring AOP事务实现原理之启用事务EnableTransactionManagement

学习这篇博文需要首先明白Spring AOP的实现原理,可以参考Spring的BeanPostProcessor扩展点实现类AbstractAutoProxyCreator和Spring AOP创建代理类之JdkDynamicAopProxy这两篇博文。EnableTransactionManagement启用 Spring 的注解驱动事务管理能力,和<tx:annotation-driven />是一样的。@EnableTransactionManagement和<tx:annot

2022-03-16 23:17:26 1068

转载 Spring FactoryBean

FactoryBeanpublic interface FactoryBean<T> { T getObject() throws Exception; Class<?> getObjectType(); boolean isSingleton();}应用场景FactoryBean 通常是用来创建比较复杂的bean,一般的bean 直接用xml配置即可,但如果一个bean的创建过程中涉及到很多其他的bean 和复杂的逻辑,用xml配置比较困难,这时可

2022-03-09 09:25:21 90

原创 Spring AOP创建代理类之JdkDynamicAopProxy

关于Spring如何获取advisor增强器集合的过程,可以看Spring的BeanPostProcessor扩展点实现类AbstractAutoProxyCreator,该文也是接着AbstractAutoProxyCreator继续解析的。前者是获取到advisor集合,该文是拿到这些advisor增强器创建代理对象,并设置advisor拦截器,以及在调用被代理的方法时,如何通过advisor拦截器进行增强。AopProxy用来实际生成代理对象的接口,通过AopProxyFactory接口暴露出来

2022-03-01 18:02:19 501

原创 Spring中Bean定义读取器BeanDefinitionReader

BeanDefinitionReaderbean 定义reader的简单接口,使用Resource和字符串location参数指定要加载的bean定义的资源位置。请注意,bean 定义reader不必实现此接口,它仅作为reader定义的建议。public interface BeanDefinitionReader { BeanDefinitionRegistry getRegistry(); @Nullable ResourceLoader getResourceLoader();

2022-02-15 18:18:35 1435

转载 Spring自定义标签和spring.handlers的加载过程

schema配置Spring自定义标签Spring自定义标签的原理XML通常通过DTD、XSD定义,但DTD的表达能力较弱,XSD定义则能力比较强,能够定义类型,出现次数等。自定义标签需要XSD支持,在实现时使用Namespace扩展来支持自定义标签。Spring通过XML解析程序将其解析为DOM树,通过NamespaceHandler指定对应的Namespace的BeanDefinitionParser将其转换成BeanDefinition。再通过Spring自身的功能对BeanDef

2022-02-15 13:16:07 279

原创 Spring的BeanFactoryPostProcessor扩展点实现类ConfigurationClassPostProcessor

BeanDefinitionRegistryPostProcessor对标准 {@link BeanFactoryPostProcessor} SPI 的扩展,允许在常规 BeanFactoryPostProcessor 检测开始之前进一步地注册bean定义。特别是BeanDefinitionRegistryPostProcessor 可以进一步地注册bean 定义,这些定义反过来定义 BeanFactoryPostProcessor 实例。public interface BeanDefinition

2022-02-11 18:00:06 629

原创 Spring中BeanDefinition的合并getMergedLocalBeanDefinition

在ApplicationContext的refresh方法中,finishBeanFactoryInitialization(beanFactory)这一步是初始化剩余的非懒加载的单例bean,之后会调用BeanFactory的preInstantiateSingletons()方法进行这些bean的加载工作。在preInstantiateSingletons方法中,首先会从beanDefinitionNames集合中获取所有的beanName,之后会循环进行getBean。但是在getBean之前,会

2022-01-27 16:14:23 1794

原创 Spring的BeanPostProcessor扩展点实现类AbstractAutoProxyCreator

AbstractAutoProxyCreatorSmartInstantiationAwareBeanPostProcessor接口继承自InstantiationAwareBeanPostProcessor接口。因此AbstractAutoProxyCreator一般是通过InstantiationAwareBeanPostProcessor接口的postProcessBeforeInstantiation方法和postProcessAfterInitialization方法来返回代理对象;pos

2022-01-26 16:09:45 879

原创 Spring的BeanPostProcessor扩展点实现类AutowiredAnnotationBeanPostProcessor

实现Spring自动注入依赖的功能,在bean实例化后,进行这重要的初始化操作。public class AutowiredAnnotationBeanPostProcessor extends InstantiationAwareBeanPostProcessorAdapter implements MergedBeanDefinitionPostProcessor, PriorityOrdered, BeanFactoryAware {}postProcessPropertyValues @De

2022-01-26 16:08:38 1405

原创 Spring的BeanPostProcessor扩展点实现类CommonAnnotationBeanPostProcessor

CommonAnnotationBeanPostProcessorpostProcessPropertyValues @Deprecated @Override public PropertyValues postProcessPropertyValues( PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName) { return postProcessProperties(pvs, be

2022-01-26 16:07:18 445

原创 SpringMVC应用启动流程图

2022-01-26 15:09:55 348

原创 Spring上下文刷新refresh过程流程图

下图是自己画的refresh的过程蓝色块:涉及到的class类紫色块:比较重要的节点绿色块:涉及到的spring扩展点

2022-01-26 09:40:03 469

原创 Spring的工厂类BeanFactory接口及相关实现类DefaultListableBeanFactory

先通过UML图总体了解下Spring的BeanFactory的结构

2022-01-22 23:00:13 951

原创 Spring的BeanPostProcessor扩展点

BeanPostProcessorpostProcessBeforeInitialization /** * 在任何bean初始化回调方法调用之前(如 InitializingBean 的 {@code afterPropertiesSet} 或自定义初始化方法),会执行该方法。 * 此时bean已经被填充了属性值,即执行过了populateBean方法。 * 返回的 bean 实例可能是原始实例的经过包装后的bean。 * 默认实现是按原样返回给定的 {

2022-01-22 12:21:45 835

原创 SpringMvc项目集成Nacos配置中心

Spring版本要求因为spring.profiles.active是从spring3.1版本开始有的,而该属性是我们在此集成中需要用到的,因此对spring版本的要求是在3.1以上Spring版本与JDK版本兼容范围 Spring Framework 5.3.x: JDK 8-19 (expected) Spring Framework 5.2.x: JDK 8-15 Spring Framework 5.1.x: JDK 8-12 Spring Framewo

2022-01-14 18:43:07 6591

原创 datax从mysql数据库到mysql数据库传输中文数据目标表出现乱码问题

乱码问题如下图:解决方法:1.将datax的reader和writer中使用的mysql-connector的版本升级,我这里将其替换为mysql-connector-java-5.1.49.jar,datax原来使用的是5.1.34版本。使用这种方式后发现没有解决问题,后来有进行了下一步的修改2.在连接mysql的jdbcURL中添加如下:?serverTimezone=Asia/Shanghai&useLegacyDatetimeCode=false&use..

2021-12-20 12:36:35 1365

原创 红黑树插入、删除讲解

红黑树算法讲解红黑树插入算法示例红黑树删除算法示例红黑树删除操作最多旋转三次的示例证明

2021-11-19 15:27:59 353

原创 2-3-4树与红黑树的转换规则及插入、删除操作等价示例

2-3-4树与红黑树是多叉树与二叉树的关系,看上去完全不同,但是在某种意义上它们又是完全相同的,一个可以通过应用一些简单的规则变成另一个,而且使他们保持平衡的操作也是一样,数学上称他们为同构。转化规则应用如下三条规则可以将2-3-4树转化为红黑树:把2-3-4树中的每个2-节点转化为红黑树的黑色节点。 把每个3-节点转化为一个子节点和一个父节点,子节点有两个自己的子节点:W和X或X和Y。父节点有另一个子节点:Y或W。哪个节点变成子节点或父节点都无所谓。子节点涂成红色,父节点涂成...

2021-11-19 15:10:46 428

转载 二叉树 红黑树 B树 B+树的优缺点

前言在MySQL中,无论是Innodb还是MyIsam,都使用了B+树作索引结构(这里不考虑hash等其他索引)。本文将从最普通的二叉查找树开始,逐步说明各种树解决的问题以及面临的新问题,从而说明MySQL为什么选择B+树作为索引结构。一、二叉查找树(BST):不平衡二叉查找树(BST,Binary Search Tree),也叫二叉排序树,在二叉树的基础上需要满足:任意节点的左子树上所有节点值不大于根节点的值,任意节点的右子树上所有节点值不小于根节点的值。如下是一颗BST(图片来源)。

2021-11-19 15:03:00 1415

原创 Spring getBean和createBean的过程及三级缓存

DefaultSingletonBeanRegistry三级缓存在该类中,有如下三个属性,是bean的三级缓存/** 一级缓存,保存singletonBean实例的映射: bean name --> bean instance */private final Map<String, Object> singletonObjects = new ConcurrentHashMap(256);/** 二级缓存,保存早期未完全创建的Singleton实例的映射: bean name -

2021-09-30 13:50:02 393

原创 AbstractBeanDefinition的initMethodName/destroyMethodName属性及@PostConstruct/@PreDestroy

在AbstractBeanDefinition中有两个属性private String initMethodName; private String destroyMethodName;xml的相关配置他们对应的是xml配置文件中bean标签的如下两个属性:destroy-method它的作用是在销毁bean之前可以执行指定的方法。注意:必须满足scope=“singleton”,并且destroy方法参数个数不能超过1,并且参数类型只能为boolean。init-metho

2021-09-27 12:35:00 227

原创 AbstractBeanDefinition的MethodOverrides属性及@LookUp

使用场景及问题在Spring的诸多应用场景中bean都是单例形式,当一个单例bean需要和一个原型bean组合使用或者一个原型bean和另一个原型bean组合使用时,我们通常都是将依赖以属性的方式放到bean中来引用,然后以@Autowired来标记需要注入的属性。但是这种方式在bean的生命周期不一样的时候将会出现问题,假设单例bean A需要一个原型bean B,我们在A中注入bean B,每次调用bean A中的方法时都会用到bean B,Spring Ioc容器只在容器初始化时执行一次,也就是b

2021-09-26 18:09:10 320

原创 AbstractBeanDefinition的autowireMode自动装配模式属性

在AbstractBeanDefinition中有一个属性是autowireMode,该属性表示自动装配模式在Spring中,注入方式有两种通过set方法通过构造函数(如果有多个构造函数会选择参数多的构造方法)手动装配注入:@Resource: 默认是通过name来查找注入值,如果不存在就报错@Autowired 通过类型查找(类型),然后再通过nameAutowireMode(自动装配模型):在spring中有四种模式分别是:AUTOWIRE_NO = 0:默认装配模式

2021-09-26 14:22:06 1020

原创 BeanDefinition接口关系图及相关实现类

BeanDefinition关系图BeanDefinitionBeanDefinition接口用于描述一个bean实例的属性及构造参数等元数据;主要提供了父beanname,bean类名,作用域,懒加载, bean依赖,自动注入候选bean,等熟悉的设置与获取操作。同时提供了判断bean是否为单例、原型模式、抽象bean的操作,及获取bean的描述,资源描述,属性源,构造参数,原始bean定义等操作。public interface BeanDefinition extends AttributeA

2021-09-24 15:34:09 241

原创 Spring的post processor工具类PostProcessorRegistrationDelegate

PostProcessorRegistrationDelegatePostProcessorRegistrationDelegate是AbstractApplicationContext委托执行post processors任务的工具类。这里的postProcessor包括两类 :BeanFactoryPostProcessorBeanPostProcessorBeanFactoryPostProcessor又细分为两类:BeanDefinitionRegistryPostProc

2021-09-17 13:43:53 542

原创 SpringBoot环境Environment

Environment关系图AbstractEnvironmentpublic abstract class AbstractEnvironment implements ConfigurableEnvironment { public static final String IGNORE_GETENV_PROPERTY_NAME = "spring.getenv.ignore"; //profiles激活文件 public static final String ACTIVE

2021-09-16 12:31:39 965

原创 SpringBoot属性解析器PropertyResolver

PropertyResolverPropertyResolver属性解决器,主要具有两个功能:通过propertyName属性名获取与之对应的propertValue属性值(getProperty)把${propertyName:defaultValue}格式的属性占位符,替换为实际的值(resolvePlaceholders)注意:getProperty获取的属性值,全都是调用resolvePlaceholders进行占位符替换后的值。public interface PropertyRes

2021-09-16 12:30:05 654

原创 SpringBoot属性源PropertySource

PropertySourcePropertySource主要是对属性源的抽象,包含属性源名称和属性源内容对象。其方法主要是对这两个字段进行操作。public abstract class PropertySource<T> { //属性源名称 protected final String name; //属性源 protected final T source; // 构造器 public PropertySource(String

2021-09-15 18:23:54 1363

原创 SpringBoot应用上下文ApplicationContext

AbstractApplicationContextpublic abstract class AbstractApplicationContext extends DefaultResourceLoader implements ConfigurableApplicationContext { //在此工厂中,国际化消息 MessageSource 的 bean的名称 //如果没有提供消息,消息解析将委托给父节点。 public static final String MESSA

2021-09-10 13:01:58 1805

原创 SpringBoot启动流程之SpringApplication.run()运行阶段之refreshContext

SpringApplication构造SpringApplication之后,就会调用ApingApplication的非静态run方法,进入运行阶段 public ConfigurableApplicationContext run(String... args) { StopWatch stopWatch = new StopWatch(); stopWatch.start(); ConfigurableApplicationContext c

2021-09-10 12:56:50 280

原创 SpringBoot启动流程之SpringApplication.run()运行阶段之prepareContext

SpringApplication构造SpringApplication之后,就会调用ApingApplication的非静态run方法,进入运行阶段 public ConfigurableApplicationContext run(String... args) { StopWatch stopWatch = new StopWatch(); stopWatch.start(); ConfigurableApplicationContext c

2021-09-10 12:55:13 335

原创 SpringBoot启动流程之SpringApplication.run()运行阶段之prepareEnvironment

SpringApplication构造SpringApplication之后,就会调用ApingApplication的非静态run方法,进入运行阶段 public ConfigurableApplicationContext run(String... args) { StopWatch stopWatch = new StopWatch(); stopWatch.start(); ConfigurableApplicationContext c

2021-09-10 12:50:09 351

原创 SpringBoot启动流程之SpringApplication.run()运行阶段之SpringApplicationRunListener

SpringApplication构造SpringApplication之后,就会调用ApingApplication的非静态run方法 public ConfigurableApplicationContext run(String... args) { StopWatch stopWatch = new StopWatch(); stopWatch.start(); ConfigurableApplicationContext context = nu

2021-09-05 17:25:24 681

原创 SpringBoot启动流程之SpringApplication构造阶段

SpringApplication public SpringApplication(ResourceLoader resourceLoader, Class<?>... primarySources) { this.sources = new LinkedHashSet(); this.bannerMode = Mode.CONSOLE; this.logStartupInfo = true; this.addComman

2021-09-03 19:05:14 158

原创 Nacos config对spring-cloud-context的扩展实现配置的加载

关于Spring Cloud上下文的介绍,请参考SpringCloud上下文关于Nacos的config配置中心介绍,请参考Nacos对spring-cloud配置中心的实现本文主要介绍Nacos怎么通过自定义引导类配置org.springframework.cloud.bootstrap.BootstrapConfiguration,来实现在主应用程序启动的时候从Nacos配置中心读取配置的外部属性BootstrapConfiguration在spring cloud context的s.

2021-09-02 21:00:45 494

前端自定义滚动条

自定义滚动条

2019-12-14

pdg转pdf格式

pdg转pdf格式

2012-03-20

画流程图的软件DiagramDesigner

画流程图的软件DiagramDesigner画流程图的软件DiagramDesigner画流程图的软件DiagramDesigner画流程图的软件DiagramDesigner画流程图的软件DiagramDesigner画流程图的软件DiagramDesigner画流程图的软件DiagramDesigner

2011-05-16

割顶,割边,连通分支割顶,割边,连通分支

割顶,割边,连通分支割顶,割边,连通分支割顶,割边,连通分支割顶,割边,连通分支割顶,割边,连通分支割顶,割边,连通分支割顶,割边,连通分支割顶,割边,连通分支割顶,割边,连通分支割顶,割边,连通分支割顶,割边,连通分支

2011-04-30

图论——支撑树图论——支撑树图论——支撑树

图论——支撑树图论——支撑树图论——支撑树图论——支撑树图论——支撑树图论——支撑树图论——支撑树图论——支撑树图论——支撑树图论——支撑树图论——支撑树图论——支撑树图论——支撑树图论——支撑树图论——支撑树

2011-04-30

浙江大学acm,吉林大学acm模板

浙江大学acm,吉林大学acm模板浙江大学acm,吉林大学acm模板浙江大学acm,吉林大学acm模板浙江大学acm,吉林大学acm模板浙江大学acm,吉林大学acm模板浙江大学acm,吉林大学acm模板浙江大学acm,吉林大学acm模板浙江大学acm,吉林大学acm模板浙江大学acm,吉林大学acm模板

2011-04-30

浙大android教学

浙大android教学浙大android教学浙大android教学浙大android教学浙大android教学浙大android教学浙大android教学浙大android教学浙大android教学浙大android教学浙大android教学浙大android教学浙大android教学浙大android教学浙大android教学

2011-04-30

word格式转换成pdf格式

word格式转换成pdf格式word格式转换成pdf格式word格式转换成pdf格式word格式转换成pdf格式word格式转换成pdf格式word格式转换成pdf格式word格式转换成pdf格式word格式转换成pdf格式

2011-04-08

ER_designer

ER_designerER_designerER_designerER_designerER_designerER_designerER_designerER_designerER_designerER_designerER_designerER_designerER图ER图ER图ER图ER图ER图

2011-04-07

资料论文资料论文资料论文

资料论文资料论文资料论文资料论文资料论文资料论文资料论文资料论文资料论文资料论文资料论文资料论文资料论文资料论文资料论文资料论文

2011-04-02

android资料4

android资料4android资料4android资料4android资料4android资料4android资料4android资料4android资料4android资料4

2011-04-02

android资料3

android资料3android资料3android资料3android资料3android资料3android资料3android资料3android资料3

2011-04-02

android资料2

android资料2android资料2android资料2android资料2android资料2android资料2android资料2

2011-04-02

android资料1

android资料1android资料1android资料1android资料1android资料1android资料1

2011-04-02

java编程规范

java编程规范

2011-02-23

jd-gui.exe

反编译工具反编译工具反编译工具反编译工具反编译工具反编译工具反编译工具反编译工具反编译工具反编译工具

2010-08-19

浙大算法包,几何 结构\数论\数值计算\图论_NP搜索\图论_连通性\图论_匹配\组合\

这里汇集了浙江大学一些同学的算法,列表如下: 几何\ 多边形 多边形切割 浮点函数 几何公式 面积 球面 三角形 三维几何 凸包(graham) 网格(pick) 圆 整数函数 注意 结构\ 并查集 并查集扩展(friend_enemy) 堆(binary) 堆(mapped) 矩形切割 线段树 线段树扩展 线段树应用 子段和 子阵和 其他\ 大数(整数类封装) 分数 矩阵 线性方程组(gauss) 日期 线性相关 数论\ 阶乘最后非零位 模线性方程(组) 质数表 质数随机判定(miller_rabin) 质因数分解 最大公约数欧拉函数 数值计算\ 定积分计算(Romberg) 多项式求根(牛顿法) 周期性方程(追赶法) 图论_NP搜索\ 最大团(n小于64) 最大团 图论_连通性\ 无向图关键边(dfs邻接阵形式) 无向图关键点(dfs邻接阵形式) 无向图块(bfs邻接阵形式) 无向图连通分支(bfs邻接阵形式) 无向图连通分支(dfs邻接阵形式) 有向图强连通分支(bfs邻接阵形式) 有向图强连通分支(dfs邻接阵形式) 有向图最小点基(邻接阵形式) 图论_匹配\ 二分图最大匹配(hungary邻接表形式) 二分图最大匹配(hungary邻接阵形式) 二分图最大匹配(hungary邻接表形式,邻接阵接口) 二分图最大匹配(hungary正向表形式) 二分图最佳匹配(kuhn_munkras邻接阵形式) 一般图最大匹配(邻接表形式) 一般图最大匹配(邻接阵形式) 一般图最大匹配(正向表形式) 一般图匹配(邻接表形式,邻接阵接口) 图论_网络流\ 上下界最大流(邻接阵形式) 上下界最小流(邻接阵形式) 上下界最大流(邻接表形式) 上下界最小流(邻接表形式) 最大流(邻接阵形式) 最大流(邻接表形式) 最大流(邻接表形式,邻接阵接口) 最大流无流量(邻接阵形式) 最小费用最大流(邻接阵形式) 图论_应用\ 欧拉回路(邻接阵形式) 前序表转化 树的优化算法 拓扑排序(邻接阵形式) 最佳边割集 最佳顶点割集 最小边割集 最小顶点割集 最小路径覆盖 图论_最短路径\ 最短路径(单源bellman_ford邻接阵形式) 最短路径(单源dijkstra邻接阵形式) 最短路径(单源dijkstra_bfs邻接表形式) 最短路径(单源dijkstra_bfs正向表形式) 最短路径(单源dijkstra+binary_heap邻接表形式) 最短路径(单源dijkstra+binary_heap正向表形式) 最短路径(单源dijkstra+mapped_heap邻接表形式) 最短路径(单源dijkstra+mapped_heap正向表形式) 最短路径(多源floyd_warshall邻接阵形式) 图论_支撑树\ 最小生成树(kruskal邻接表形式) 最小生成树(kruskal正向表形式) 最小生成树(prim邻接阵形式) 最小生成树(prim+binary_heap邻接表形式) 最小生成树(prim+binary_heap正向表形式) 最小生成树(prim+mapped_heap邻接表形式) 最小生成树(prim+mapped_heap正向表形式) 最小树形图(邻接阵形式) 应用\ joseph模拟 N皇后构造解 布尔母函数 第k元素 幻方构造 模式匹配(kmp) 逆序对数 字符串最小表示 最长公共单调子序列 最长子序列 最大子串匹配 最大子段和 最大子阵和 组合\ 排列组合生成 生成gray码 置换(polya) 字典序全排列 字典序组合 组合公式

2009-04-26

dev c++ 8M但功能全

Dev c++编程软件,8M很小,但功能还全,可谓是麻雀虽小五脏俱全啊。虽不及vc++功能的强大,但安装速度却是他的十几倍啊,随身携带很方便

2009-02-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除