1 集合 为什么要使用集合框架? 传统的容器(数组)在进行增、删等破坏性操作时,需要移动元素,可能导致性能问题;同时添加、删除等算法和具体业务耦合在一起,增加了程序开发的复杂度。 Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中 Collection Colle ...
分类:
其他好文 时间:
2019-04-30 22:01:39
阅读次数:
187
1、线性结构分类: 直接访问型: 向量、记录 顺序访问型: 顺序文件、广义表、栈、队列 目录索引型: 字典、散列表 2、数组 插入: 元素总个数为k,各个位置插入的概率为1/k; 平均移动元素次数:求和1/k*(k-i)约等于k/2; 总时间开销约为o(k); 查询: 读取非常方便,时间代价为o(1 ...
分类:
其他好文 时间:
2019-03-18 13:36:03
阅读次数:
248
c/c++面试总结 c语言基础算法总结2 算法是程序设计的灵魂,好的程序一定是根据合适的算法编程完成的。所有面试过程中重点在考察应聘者基础算法的掌握程度。 上一篇讲解了5中基础的算法,需要在面试之前熟练掌握,本篇讨论剩余的基础算法。 先看一个面试题目:设计一个函数,求一个给定字符串中所有数字的和。 ...
分类:
编程语言 时间:
2019-03-13 16:34:20
阅读次数:
159
Vue.Draggable拖动效果 下载包:npm install vue-draggable --save 组件中引进依赖: import draggable from 'vuedraggable' 注册:draggable这个组件 components: { draggable }, compo ...
分类:
其他好文 时间:
2019-02-26 19:42:59
阅读次数:
1771
一:线性表定义 -《数据结构 - 线性表》顺序存储结构 二:为什么要 链式存储 线性表? - 因为在使用 顺序结构 存储方式存储的时候,每次进行 插入/删除 都需要大量移动元素的位置。 - 所以设计出一种 存储空间不连续 的存储结构。 - 这个线性表可能是这样的(存储位置不固定) - 三:链式存储 ...
分类:
其他好文 时间:
2019-02-22 12:48:22
阅读次数:
168
排序思想: 1.每次插入,都从前面的有序子表中查找出待插入元素应该被插入的位置; 2.给插入位置腾出空间,将待插入元素复制到表中的插入位置。 注意到该算法中,总是边比较边移动元素,下面将比较和移动操作分离开来, 即先折半查找出元素的待插入位置,然后再统一地移动待插入位置之后的所有元素。 ...
分类:
编程语言 时间:
2019-01-19 15:14:49
阅读次数:
206
在重新分配内存的过程中,从旧内存将元素拷贝到新内存是不必要的,更好的方式是移动元素。使用移动而不是拷贝的另一个原因源于IO类或unique_ptr这样的类。这些类包含不能被共享的资源(如指针或IO缓冲),因此,这些类型的对象不能拷贝,但是可以移动。 标准库容器、string和shared_ptr类既 ...
分类:
移动开发 时间:
2019-01-13 11:38:41
阅读次数:
231
1、相对定位 被看作普通流定位模型的一部分,定位元素的位置相对于它在普通流中的位置进行移动。使用相对定位的元素不管它是否进行移动,元素仍要占据它原来的位置。移动元素会导致它覆盖其他的框。 ...
分类:
Web程序 时间:
2018-12-14 10:24:04
阅读次数:
193
CSS3变形CSS2.1中的页面都是静态的,网页设计师也习惯把它作为页面效果的设计工具。多年来,Web设计师依赖于图片、Flash或JavaScript才能完成修改页面的外观。CSS3将改变设计师这种思维,借助CSS3可以轻松倾斜、缩放、移动以及翻转元素。2012年9月,W3C组织发布了CSS3变形工作草案。允许CSS把元素转变为2D或3D空间,这个草案包括了CSS32D变形和CSS33D变形。C
分类:
Web程序 时间:
2018-10-06 17:54:43
阅读次数:
2316
问题: 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 说明: 尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。 要求使用空间复杂度为 O(1) 的原地算法。 方法一 解题思路 : 数组无论怎样移动,元素之间的顺序是不会变得,只要找到最后的状态即可; 使用一个 ...
分类:
编程语言 时间:
2018-10-04 08:53:30
阅读次数:
159