摘要:
数据结构和算法的问题集 总结 基础数据结构 高级数据结构 经典算法 分治法 贪心法 搜索 回溯 动态规划 阅读全文
摘要:
通过“怎样对10亿个数字进行快速去重?”这个有趣的问题,引入位图这种数据结构;再通过介绍三个基本的位级元操作(置1、清0、取位),力求做到清晰地实现位图算法,分享给有需要的C语言和算法初学者。 阅读全文
摘要:
通过一个简单的小例子引出状态机的编程思想,最后通过编写状态机实现一个功能完整的、用来删除C/C++注释的程序。 阅读全文
摘要:
本文对“英雄会在线编程题”——排列搜索题目进行分析和解答,并且可视化搜索空间树,使初学者更容易理解。 阅读全文
摘要:
通过一个有趣的问题引入,简单介绍Linux下GCC编译环境中C程序的编译、链接和符号解析,同时使读者对C语言标示符的链接属性(Linkage)有初步的了解。 阅读全文
摘要:
本文介绍柔性数组(Fiexibel Array)的定义、由来以及基本特征,通过“标准规定:sizeof 操作数不可以是不完整类型”来解释柔性数组的“古怪”特征。 阅读全文
摘要:
二叉树的旋转操作和平衡判断 左旋 维护孩子指针 父亲指针 节点数目size 哨兵的作用 阅读全文
摘要:
按字典序输出二叉树的所有路径 回溯法 退栈 维护栈顶指针 阅读全文
摘要:
二叉树这种数据结构非常经典。研究二叉树之前必须得创建二叉树,这里简单介绍三种常见的创建二叉树的方式:
随机生成二叉树、利用二叉树(包括空节点)的前中后遍历序列、利用二叉树对应的完全二叉树(包括空节点)的层次遍历序列 阅读全文
摘要:
链表的归并排序 带头结点的链表 不带头结点的链表 分治法 指针追击 相对速度 递归 迭代 阅读全文
摘要:
输出n的全排列 回溯法 可重集的全排列问题 阅读全文