-
TL;DR 首先,确未想到,为说清楚这个玩意儿,居然要用不少的篇幅;其次,当涉及对一些概念、原理的追溯时,递归到多深的地步,也不容易拿捏;好在,写这些文字主要是为了将来碰到某些反直觉的情况时可以有个快捷解答;最后若能得到碰巧逛到这里的同仁指点迷津,纠正错误,互通有无,就算赚到了 :-) 希望读完此文,能够消除一些关于 EOF 的疑惑,再碰到关于她的一些争论时,大家能够相视一笑。 愿此文,能解释 什么是 EOF? 为什么需要 EOF? 文件里包不包含 EOF? 终端输入时的 EOF 的表示方式和处理行为是怎么样的? 不同计算机语言的 EOF 如何定义的? …… may your blade never dull section-0 概 …
阅读更多 -
算法原理 相关算法——插入法 对于集合 $$ S={a_1, a_2, ..., a_n} $$ 若已知前 $n-1$ 个元素的全排列,则 $n$ 个元素的全排列 $$ p_i={p_1,p_2,...,p_{(n-1)!}} $$ 可以这样生成:将 $a_n$ 插入 $p_i$ 不同位置中,由此,得到集合 $S$ 的全排列 为什么这样操作能得到集合 $S$ 的全排列?因为每个 $p_i$ 的可能插入位置为 $n$ 个,所以总数是 $n!$ 又因为每个 $p_i$ 是不同的,因此,得到的排列必然没有重复 插入法有一个缺点:为了产生 $n$ 个元素的排列,必须知道并存储所有 $n-1$ 个元素的排列,然后才能产生出所有 $n$ …
阅读更多