数据结构 邓俊辉 学习笔记
第2章 向量
2.1 向量的插入和删除
方向比较重要,插入从后往前移动;删除从前往后移动,如果从后往前,会导致重叠部分覆盖掉。
----------------*********||||||||||||||||||
----------------||||||||||||||||||
被覆盖部分 ||||||||||
第3章 列表
第4章 栈与队列
4.1 栈的应用
(1) 为什么括号的匹配要用栈?用计数器呢? 单种括号的可以用技计数器,但是多个的时候,即便使用多个计数器,也是不行的
这儿的括号可以扩展为 HTML中的 等符号的匹配
(2) 栈混洗的数目 (2n)!/((n+1)!*n!)
(3) 栈混洗的问题
设 B 为 A = { 1, 2, 3, ..., n } 的任一排列。
可以证明,B 是 A 的一个栈混洗,当且仅当对二仸意 1 <= i < j < k <= n,P 中都不含如下模式:
{ ..., k, ..., i, ..., j, ...}
比如有栈 {1,2,3},共有 (2*3)!/(3! * 2!) 个栈混洗,其中一个非法的是, {3,1,2},不满足上面的充要条件