随笔分类 -  数据结构

记录点滴.
摘要:1. 什么是树状数组? 假设C [i]表示这个数据结构的第i个元素, A [i]表示第i数的数值。 C [i] = A [i] ( i 为奇数) C [i] = A [k] + .. + A [i]; (k 等于 i的二进制最后一位1去掉 + 1, i为偶数) 看图, 2. 想法 感觉这是某个理论的 阅读全文
posted @ 2017-03-13 17:55 心中的阿哲 阅读(187) 评论(0) 推荐(0)
摘要:问题: 将无序的单链表按从小到大排序创新方法: 只对结点存放的值修改。 思路:建立指针数组,映射到结点存放的值的地址, 然后间接访问这些结点的值,对它们排序。代码:预编译#include #include #define status int#define FALSE 0#define TRUE 1... 阅读全文
posted @ 2015-07-14 23:20 心中的阿哲 阅读(312) 评论(0) 推荐(0)
摘要:哑结点,就是链表的根节点. 一般的, 单链表的插入要考虑空链表的处理, 但如果有哑结点, 就无需这样考虑. 那这样好吗? 如果这样,你需要保证进入插入函数前, 单链表有哑结点, 所以你需要创建, 而且每次操作单链表需要跳过哑结点. 也就是说, 增加哑结点并没有减少特殊... 阅读全文
posted @ 2015-07-10 00:13 心中的阿哲 阅读(1746) 评论(0) 推荐(0)
摘要:预编译#include #include #define status int#define TRUE 1#define FALSE 0数据结构typedef struct NODE{ struct NODE *next; /* 指向下一个结点 */ int value; ... 阅读全文
posted @ 2015-07-09 22:33 心中的阿哲 阅读(1142) 评论(2) 推荐(0)
摘要:双链表与单链表的不同之处是 前者有两个根指针, 一个指向首结点, 一个指向尾结点. 后者只有一个, 指向首结点。预编译#include #include #define status int#define TRUE 1#define FALSE 0typedef struct NODE{ in... 阅读全文
posted @ 2015-07-07 21:38 心中的阿哲 阅读(562) 评论(1) 推荐(0)