经典算法解题思路汇总

*1.在线算法求数组的中位数
维护一个大顶堆,一个小顶堆
priority_queue<int, vector

*2.字符串替换技巧
通常有索引下标、源串、目的串
通常的做法是对索引下标排好序,依次替换,从前到后替换时,需要拷贝一个新串出来,按顺序遍历源串,拼接新串即可
如果希望在源串上操作,则好的做法是,下标排好序后,从后向前替换,这样之前的索引位置还是有效的.
有很多问题是从后向前解决时更方便

*3.字符串处理技巧
使用trie树、使用suffix trie树,注意实现search和insert函数

*4.图
注意根据边可以得到图,对于无向图,因为边时双向关系,在遍历无向图时,需要任选一个点,作为跟节点,并使其父节点为-1
然后跟他相邻的节点,作为其子节点,因为存在父子关系,当递归遍历子节点时,每个节点都需要维护跟改节点相邻的节点,
遍历时注意排除掉 节点等于 父节点的情况.

猜你喜欢

转载自www.cnblogs.com/ctrlzhang/p/9033678.html