摘要:
一、string类型 1. 头文件:include 2. 用scanf,要用取地址符& 3. 如果要进行比较要使用compare函数 4. 可能使用scanf会出现段错误题中测试点,可以改用cin 二、char数组 1. 头文件:include 2. 比较函数使用strcmp(); 3. 在scan 阅读全文
摘要:
一、技术总结 1. 第一步数据结构的定义,和存放二叉树序列的数组 2. 第二步定义层次序列的遍历函数,是广度搜索的算法进行,先内部自己定义一个队列,然后把根结点push进入队列,只要队列不为空就遍历while,同时内部定义一个结点然后弹出队首结点,然后打印数据域。然后如果左右结点不为空,把左右结点p 阅读全文
摘要:
一、先序遍历 第一个一定是根结点 1. 递归式:就是先序递归的定义 2. 递归边界:二叉树中递归边界是二叉树为一棵空树 二、中序遍历 只要知道根结点就可以通过根结点在中序遍历的序列中位置分出为左子树和右子树 1. 递归式:就是中序递归的定义 2. 递归边界:二叉树中递归边界是二叉树为一棵空树 三、后 阅读全文
摘要:
一、树的定义与性质 定义 1. 结点(node):树枝分叉处、树叶、树根 2. 根结点(root):树根 3. 叶子结点(leaf):叶子结点 4. 边(edge):茎干和树枝 5. 子结点(child) 6. 子树(subtree) 性质 1. 树可以没有结点,把这种情况下称为空树(empty t 阅读全文
摘要:
一、技术总结 1. 这一题是BFS广度优先搜索算法,感觉这类题目是首先定义需要的数据结构类型,然后会定义一个数组用于存放数据,还有一个bool类型的数组看是否已经放入队列中了。然后再编写一个判断函数judge()排除数组中超出范围的数字返回false,还有就是不满足条件或者是已经在队列中的,最后就返 阅读全文
摘要:
一、技术总结 1. 这一题首先设计数据结构链接结点,除了基本的地址address、数据data和指针next参数,还要一般设计一个order参数,用于记录有效结点,顺便用于满足题目要求。 2. 设计exist数组存放是否重复出现的数字 3. 关键点在于直接对于order的区分,重复数字之后的从max 阅读全文
摘要:
一、技术总结 1. 使用first存储链首位置地址,k是需要每组的数量,n是总数节点,sum用于统计有效节点 2. data用于记录节点数据,next用于记录下一个结点的地址,list用于记录备份地址,result用于改变地址位置。 3. 具体理解参考代码注释 二、参考代码 阅读全文
摘要:
一、技术总结 1. 这个也是一个链表类题目,主要是在结构提上的设计,可以设计一个flag参数用于记录真实有效的结点。 2. 然后就是根据题目要求进行排序,输出结果。 3. cmp()函数可以,一层是把有效节点排到数组的左边,然后可以进行二次比较,按题目要求来。 二、参考代码 阅读全文
摘要:
一、技术总结 1. 这个是关于链表的,对于一些不是很大的可以使用静态链表,就是通过定义结构体,然后用数组表示 2. 这里还有一点需要注意的是这里通过对于一个链表的用标志位,如果出现的使用true,然后对于另一条也是通过遍历,但是可以减少一个复杂化度。 3. 对于输出要求有格式要求也要注意。 4. s 阅读全文
摘要:
一、栈stack 1. 是后进先出的数据结构 2. 栈顶指针指的始终是栈最上方元素的一个标记,即放在最上面的元素。栈顶元素为空时令top为 1. 3. 在使用pop()函数和top()函数时,需要使用empty()判断栈是否为空。 4. 在STL中stack容器来编写代码,STL定义stack的复杂 阅读全文