![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
buyter
这个作者很懒,什么都没留下…
展开
-
选票统计问题与稀疏矩阵压缩存储的转置
(一)选票统计问题 问题: 现有10个候选人,对这10个候选人分别标号为1–10;有两万人对他们进行选举,产生了两万张选票;每张选票上写的分别是1–10中的其中一个数字,以表示支持那一位候选人,先要求对这两万张选票进行统计,得到每个候选人的票数。 怎么实现? 一般思路: 定义一个11个空间大小的数组(a[0]不使用),每个空间代表一个一位候选人的票数计数。然后对两万张选票进行遍历,票上数字是几,对...原创 2020-01-11 15:57:43 · 152 阅读 · 0 评论 -
单链表基础-数据结构
(一)链表节点的定义 在学习数据结构的单链表时,首先看到的是单链表的结点定义,但光就参考书上的结点定义,我都难以理解像下面: typedef struct Node { DataType data; struct Node *next; }Node,*PHead; 搞不懂,为什么要使用typedef,为啥花括号后面又跟了一个变量名,一个像是指针的东西完全看不懂。 后来在阅读了...原创 2019-12-28 23:09:06 · 161 阅读 · 0 评论 -
链表(提高)-数据结构(一)
自己理解,方便自己21考研使用 目前在通过西北大学的耿国华老师的上课课程实录视频在学习数据结构。在链表的提高课程上给出了三个习题,分别为: 1.分解链表奇和偶两部分,前半部分为奇数,后半部分为偶数,算法复杂度要求为O(1)。 2.单链表就地逆置 3.二进制数加1运算 本篇先介绍第一个问题: (一)前提知识 首先是顺序表的定义,应该为: #define MAXSIZE 100 typedef str...原创 2019-12-31 17:32:39 · 230 阅读 · 0 评论 -
链表(提高)-数据结构(二)
问题二: 将链表就地转置 (一)少废话,看东西 实现代码为下: int punchList(Block *p) { //倒置链表,传入参数为头指针 Block *c = p->next->next; Block *Block1 = p->next; while (c != NULL) { Block *temp = c-&g...原创 2019-12-31 22:32:45 · 115 阅读 · 0 评论 -
链表(提高)-数据结构(三)
问题三: 二进制加法问题 举例:二进制数110101,首先将二进制数的每一位存入链表: L->1->1->0->1->0->1->NULL 加一后,链表应该变为: L->1->1->0->1->1->0->NULL (一)题目解析 首先,一拿到这个题目,很懵。 需要找规律,找到规律后才能进行算法书写 其...原创 2020-01-02 21:08:38 · 111 阅读 · 0 评论