WShit

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1.题目1:最长连续递增子序列

2.设计思路

输入表长 n 
for i = 1 to n
    cin >> a[ i ]
    如果 a[ i ] <= a[ i-1 ]   
        mark = i
    end if
    如果 i-mark > right-left , 有更长的序列
        更新序列端点 left = mark;    right = i;
    end if
end
输出最长子序列

3.代码截图

4.

1.题目2:判断链表结点对称

2.设计思路


3.代码截图

4.

1.题目3: 两个有序序列的中位数

2.设计思路

用尾插法创建两个带表头的链表 A 和 B .
List p ,q 分别指向两表的第一个结点
定义 i 计数
while: p 和 q 不全为空
    如果 q 为空 , 或者 q 不为空但 p->data < q->data
        如果 i == n , 返回中位数 p->data
        否则 p 后移.
    end if
    否则
        如果 i == n , 返回中位数 q->data
        否则 q 后移
    end
    i++
end

3.代码截图

4.

二、截图本周题目集的PTA最后排名

1.顺序表PTA排名

2.链表PTA排名

3.我的总分: 295

三、本周学习总结

1.谈谈你本周数据结构学习时间是如何安排,对自己安排满意么,若不满意,打算做什么改变?

  • 本周主要都是在上课的时候学习数构 , PTA题集都是先拖几天才开始写 , 对自己的安排感觉还行吧 . 敲敲代码维持一下生活 .

2.谈谈你对线性表的认识?

  • 线性表的储存方式有数组和链表 . 数组的内存连续 , 而链表是离散的 , 是靠指针串联的 .
  • 链表用起来比较有条理 , 且不会太浪费内存 . 但利用好数组的下标可以更便捷地解决一些问题 .
posted on 2018-03-25 22:55  嗡嗡_嗡  阅读(212)  评论(3编辑  收藏  举报