摘要: 首先先用一个表格大概罗列一下几种查找方法的特点 数据结构采用二叉链表表示 插入和删除只需移动指针 线性表的查找 (1)顺序查找 顺序查找比较简单直观,但也有技巧,如通过设置监视哨,免去查找过程中每一步都要检测整个表是否查找完毕。 (2)折半查找(二分查找) 这种查找方式效率较高,但必须是对于有序的顺 阅读全文
posted @ 2019-06-02 16:27 刘恒盛 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 这一章主要是学习了图的结构和应用,而作业里列出连通集的题则是对BFS(宽度优先)和DFS(深度优先)两种搜索方法的应用 下面 先分别介绍这两种搜索方法 (1)DFS 从图中某个顶点v出发,访问v → 找出刚访问过的顶点的第一个未被访问的邻接点,访问该顶点,再以该顶点为新顶点,重复此步骤直至刚访问过的 阅读全文
posted @ 2019-05-19 12:44 刘恒盛 阅读(241) 评论(1) 推荐(0) 编辑
摘要: 本次作业是建立二叉树并输出叶结点 (1)首先是定义结点,包括左孩子,右孩子 (2)建立二叉树 定义bool类型数组,初始为false,若t[i].lch不为‘-’,则check[t[i].lch]赋值为true 输入左孩子,为字符型,x-‘-’与ASCII码0相减使其转化为整型,可作为check数组 阅读全文
posted @ 2019-04-28 00:12 刘恒盛 阅读(158) 评论(1) 推荐(0) 编辑
摘要: 主串与模式串的匹配 (1)BF算法: BF算法比较简单直观,其匹配原理是主串S.ch[i]和模式串T.ch[j]比较,若相等,则i和j分别指示串中的下一个位置,继续比较后续字符,若不相等,从主串S的下一个字符(i=i-j+2)起再重新和模式串T的第一个字符(j=1)比较。 (2)KMP算法: KMP 阅读全文
posted @ 2019-04-13 22:08 刘恒盛 阅读(2098) 评论(0) 推荐(0) 编辑
摘要: 这一章主要是学习栈和队列,在打代码时,前面的函数主要都是参考课本,如定义栈、定义队列、初始化等,然后在主函数中用合理地调用函数,以此来实现目的。 首先,作业题符号配对是利用栈先进后出的特性,出现左括号时左括号入栈,当右括号出现时,最后一个入栈的左括号与其进行配对,若直到栈为空依旧没有出现配对失败,则 阅读全文
posted @ 2019-03-30 12:13 刘恒盛 阅读(115) 评论(2) 推荐(0) 编辑
摘要: 在学习数据结构前,面临未知的内容心里总有些忐忑,在上了一节课之后,才知道原来也用到c++。对于顺序表的操作,由于与上学期c++比较类似,还没什么问题,但是在单链表操时,在书上也找不到完整的代码例子,就无从下手了。后来,我从书上的图入手,试着去了解单链表的各种操作,然后先一步步,从建立单链表,初始化, 阅读全文
posted @ 2019-03-17 15:27 刘恒盛 阅读(141) 评论(1) 推荐(0) 编辑