插入排序(Insertion Sort) 原理:将数组中的数据分为两个区间,已排序区间和未排序区间。初始已排序区间只有一个元素。 核心思想:取未排序区间中的元素,在已排序区间中找到合适的位置将其插入,并保证已排序区间的数据一直有序。重复这个过程,直到未排序区间中元素为空,算法结束。 算法描述: 一般 ...
分类:
编程语言 时间:
2020-07-24 21:10:15
阅读次数:
56
到目前为止,我团队赛打的很少,但有好几次团队赛都出现了字符串距离问题,作个整理。 经典的字符串距离问题,求两字符串之间的距离,两个字符串之间的距离指的是至少通过多少次操作使得这两个字符串相同。 有两个操作: 1 :选其中一个字符串,在其任意位置插入一个任意字符; 2: 选其中一个字符串,删掉其中任意 ...
分类:
其他好文 时间:
2020-07-24 21:09:59
阅读次数:
63
本期介绍随机数在密码学中生成Salt的用法。在密码学中,Salt是指将特定(固定)字符串插入到明文固定位置,让Hash散列运算值不同于使用原始明文的散列值。HASH散列运算是公开算法,只要有相同的明文,任何人都能算出相同的摘要值。Salt的意义在于让只有掌握正确Salt数据的用户才能计算出正确的HASH散列值。在某种意义上,Salt对于HASH运算的意义,就相当于密钥对于3DES等对称算法的意义。
分类:
其他好文 时间:
2020-07-24 19:11:38
阅读次数:
71
《数据结构与算法分析C语言描述》-第二版 ###1.插入排序 插入排序由N-1趟排序组成,第P趟排序之前,前P个元素已经排好序。第P趟排序时,前P个元素中大于第P+1个元素的数全部右移一位,然后将第P+1个元素插入对应的位置。 插入排序的时间复杂度为$O(N^2)$。 void InsertionS ...
分类:
编程语言 时间:
2020-07-24 16:52:27
阅读次数:
66
1,单链表分为带头结点和不带头结点,带头节点的好处,只有实际写代码后才能体会出来。可以类比顺序表中的哨兵 好处: 1,第1个位置的插入、删除更加方便,带来操作上的统一。 2,对于头插法: 不带头结点的链表,插入第一个结点时,需要特殊处理,删除操作类似. 3,优势2:统一空表和非空表的处理 举例:无头 ...
分类:
其他好文 时间:
2020-07-24 16:29:50
阅读次数:
59
Oracle整合Mybatis实现list数据插入时,存在就更新,不存在就插入以及随机抽取一条记录 ...
分类:
数据库 时间:
2020-07-24 16:15:58
阅读次数:
101
今天看到有人问如何判断处理有不符合的数据阻止插入。比如这个数据只能在90天内存在一条,如果有了就拒绝插入。 当然大家都说用代码判断,判断一下90天内是否有数据,有就拒绝。 我这里说一个使用触发器的思路 虽然大家都不想用触发器,觉得很难维护,而且这东西不是每个人都会,将来修改起来很不方便。 话不多说看 ...
分类:
数据库 时间:
2020-07-24 16:09:31
阅读次数:
107
数组:按序号访问元素,连续存储,元素可以有序、也可以无序,用下标来定位元素,元素的数量确定(有上限),按下标访问很快,插入和删除元素、排序的开销比较大(元素的移位操作),数组元素无序时,元素的排序速度比较慢(依次比较),数组元素有序时,元素的查找速度比较慢(二分查找,比无序时快)。 链表:插入、删除 ...
分类:
编程语言 时间:
2020-07-24 15:38:12
阅读次数:
68
C++语言关键字及注解1、asm:允许在代码中直接插入汇编语言指令。2、auto:用来声明完全可选择的局部变量。3、bool:用来声明布尔逻辑变量。4、break:用来跳出一个do、for、while循环,也可以结束一个switch语句的句子5、case:在switch里面用来检测匹配。6、catch:通常通过throw语句捕获一个异常7、char:用来声明字符变量8、class:创建新的数据类型
分类:
编程语言 时间:
2020-07-24 13:29:53
阅读次数:
92
常用排序算法: 冒泡排序 插入排序 快速排序 选择排序 排序算法的时间&&空间复杂度 排序算法的稳定性 冒泡排序——bubbleSort 是一种简单的排序算法,重复地走访要排序的数列,一次比较两个元素,如果它们的顺序错误就把他们交换。走访数列的工作是重复的进行直到没有需要交换。 如果两个数关系不正确 ...
分类:
编程语言 时间:
2020-07-24 10:07:24
阅读次数:
101