数据结构(25-26-2)

主讲教师: 李群 副教授 / 山东航空学院

教学进度:
  • 预报名
  • 进行中
  • 已结束

学时安排:48学时

学分:2分

数据结构是计算机科学与技术专业及其相近专业的学科基础课程,系统讲授数据结构概念、原理和应用,是解决复杂工程问题的重要基础。它所讨论的知识内容和提倡的方法,无论对进一步学习计算机领域的其它课程,还是对从事大型信息工程甚至操作系统的开发,都是非常重要的基础和保障,通过本课程的学习有助于提升学习者的算...
  • 880549

    累计页面浏览量

  • 483

    累计选课人数

  • 893

    累计互动次数

03-09 11:37 李群 山东航空学院 在数据结构(25-26-2)课程中提问:

广义表与线性表本质区别

从逻辑结构角度阐述广义表与线性表的本质区别,并说明这种差异对存储实现的影响。

  • 03-30 20:47 尤广伟

    线性表元素单一,广义表可嵌套,两者存储有别
  • 查看全部(31条)

03-08 18:47 李群 山东航空学院 在数据结构(25-26-2)课程中提问:

在线性表中查找数据可以有多快?

如果有一线性表,我们要在其中查找一个与给定值相同的元素,时间复杂度是多少?你认为最快能有多快呢?

  • 03-30 19:50 姜建豪

    线性表查找给定值元素,平均时间复杂度为O(n)。若采用哈希表可优化,查找特定值能达O(1),速度更快。
  • 查看全部(40条)

03-04 17:33 李群 山东航空学院 在数据结构(25-26-2)课程中提问:

怎样修炼自己的编程能力?

通过本章的学习,结合你的编程学习之路,谈谈你是怎样或者打算怎样提高自己的编程能力。

  • 03-26 16:24 王延翔

    课前完成预习 课上认真听讲 课后按时保质保量完成任务 多多独立思考
  • 查看全部(10条)

03-04 17:33 李群 山东航空学院 在数据结构(25-26-2)课程中提问:

说说你在编程中使用过的或者了解的一些算法

有很多经典算法,就像计算机科学里的颗颗明珠,相信大家在学习和使用程序设计语言时已经有所应用。你使用过哪些算法或者了解哪些,跟大家一起分享一下。

03-04 17:33 李群 山东航空学院 在数据结构(25-26-2)课程中提问:

何为优秀的程序?

你认为什么样的程序称得上优秀,有哪些评判标准?

  • 03-26 16:12 王延翔

    我认为,真正优秀的程序绝不只是能运行、不出错,而是稳定、高效、易读、好用的程序
  • 查看全部(7条)

03-04 17:33 李群 山东航空学院 在数据结构(25-26-2)课程中提问:

有多少个不同值?

编写算法,求一个整型数组中有多少个不同值。如:数组{5,3,5,2,6,1,7,3,5},不同的值有6个。你有什么办法解决该问题,能不能找到比较高效的算法?

  • 03-26 16:11 王延翔

    #include <stdio.h>
    #include <stdlib.h>

    int cmp(const void *a, const void *b) {
    return *(int*)a - *(int*)b;
    }

    int countUnique(int arr[], int n) {
    if (n == 0) return 0;

    qsort(arr, n, sizeof(int), cmp);

    int count = 1;
    for (int i = 1; i < n; i++) {
    if (arr[i] != arr[i-1]) {
    count++;
    }
    }
    return count;
    }

    int main() {
    int arr[] = {5, 3, 5, 2, 6, 1, 7, 3, 5};
    int n = sizeof(arr) / sizeof(arr[0]);
    printf("不同值个数:%d\n", countUnique(arr, n));
    return 0;
    }
  • 查看全部(7条)

03-09 11:37 李群 山东航空学院 在数据结构(25-26-2)课程中提问:

广义表还是表?

通过学习,你觉得广义表是不是普通意义的线性表,它具备哪些特殊性质?

  • 03-26 16:05 王延翔

    普通线性表是“纯线性、单层、元素不可分”;
    广义表是“可嵌套、可递归、可共享”的扩展线性结构,不属于普通线性表。
  • 查看全部(5条)

03-09 11:37 李群 山东航空学院 在数据结构(25-26-2)课程中提问:

怎样存储高维矩阵才能节省空间?

在许多科学计算中,会用到高维矩阵,在计算机内存储它们时如何能有效节省空间,你有什么方法?

  • 03-26 16:05 王延翔

    很多高维矩阵自带结构,可以直接不存冗余部分:

    - 对称矩阵:只存上三角/下三角

    - 厄米特、斜对称矩阵同理

    - 托普利茨/循环矩阵:只存第一行/第一列

    - 带状矩阵:只存带内元素。
    空间可直接减半甚至减少一个数量级。
  • 查看全部(5条)

03-08 18:47 李群 山东航空学院 在数据结构(25-26-2)课程中提问:

在C/C++语言里有没有办法不用指针做出链表呢?

03-08 18:47 李群 山东航空学院 在数据结构(25-26-2)课程中提问:

顺序表or链表

顺序表和链表到底孰强孰弱,你是如何看待这个问题的?

常见问题

  • 1.我该如何学习这门课程?

    (1)首先您要注册一个学银在线的账号。

    (2)您需要有一定的上网条件,能够流畅的观看教学视频。在观看的过程中,您可以选择在PC端登陆我们的网页, 也可以选择下载我们的app学习通,通过手机客户端来学习。

    (3)您一旦报名选择了课程,我们的课程主讲老师或课程团队会通过通知的形式给您发送课程有关的消息,同时会抄送您的邮箱,请您及时查收。

  • 2.我在学习过程中遇到问题了,怎么办?

    您可以通过以下几种方式获取帮助:

    (1)在课程群聊中发布求助信息,说不定和你一起学习这门课的小伙伴就能够解决你的问题呢;

    (2)在课程讨论区留言,课程团队看到后将会及时回复。

    (3)联系我们的客服,或者随时给我们发邮件,邮箱地址:xueyinkf@chaoxing.com。

  • 3.我是新手,能否给我一些学习建议?

    (1)我们的课程采用MOOC的方式授课,因此您可以自由安排您的学习时间、学习地点。但我们仍旧希望您每周能都有固定的时间持续进行本课程的学习,根据人的记忆曲线显示这种规律的学习方式能够最大限度的提升您的学习质量。

    (2)学习的过程比较容易,为了检验您的学习成果,我们的课程团队会在课程章节结束后布置测验或作业,希望您尽可能的按时独立完成。如果有没有掌握的知识点,您可以继续回看复习课程。

    (3)希望您能够积极参与课程的讨论,与各位学习者一起煮酒论英雄。在讨论的过程中,不光可以对课程所学内容温习内化,还能互相碰撞出思想的火花,相信您一定会有额外的收获。

  • 4.课程会不会很难、很枯燥?

    (1)我们的课程都是老师经过精心设计拍摄制作而成,并且由于是MOOC的方式,所以课程拆分成了不同的知识点,学习起来一点也不费劲。

    (2)我们的课程多采取理论结合实际的授课方式,课程中也有许多案例的呈现,相信会给学习者带来诸多方面的启发。我们也将力求做到深入浅出,支持学习者将研究发现转化为实践,改进自身教学。