我们选用的教材是李春葆的数据结构教程第五版。
感觉好难,对于那些线性表,栈,队列的头文件用不用达到不看书完全手打的地步?书上的例题也都要全会吗?有的例题能看懂就是自己写不出来。希望大佬给点建议

上传的附件
你的回答被采纳后将获得: 5点积分 (将会扣除手续费1点积分。)

keyboard_arrow_left上一篇 : 课内资源怎么用vs2019打开运行啊???我这调式失败了 请问机器学习怎么入门? : 下一篇keyboard_arrow_right

3个回答

Hsing97
2019-11-13 17:13:50

看视频,教授会给你生动形象的例子,我考试前就是在慕课自学的

954880947
2019-11-13 22:17:41

数据结构学好并不难,关键是多上机操作,一个算法你看上去很简单,其实里面的小细节很多,没有自己编译连接运行,有些问题你可能发现不了。其实对于语言,真的无所谓啦,用C也好,用C#也好,都能实现,关键是算法思想的理解和运用。
我们老师说过一句话:编程语言不懂,你可以花一个月的时间把那门语言学的滚瓜烂熟,然后你就可以写程序了;而要是你编程思想不理解,哪怕你会一千种语言,也写不出好的程序。
数据结构关键是学习算法的思路。慢慢学吧,肯定能行的!

luckone
2019-11-17 11:41:51

这个一定要多动手练习代码,算法一遍不理解,那就多实现几遍,在实现过程中,你会理解得更加深刻的!

精彩评论

  • [算法问题] 谁逃课了
    哈哈,一开始还以为是吐槽帖,没想是问问题啊。。。顺便解答下你的问题吧。 bA, bB, bC, bD, bE 来表示A、B、C、D、E,true表示逃课,false表示不逃课,原理比较简单,就是暴力枚举 bA, bB, bC, bD, bE,然后判断是否满足给出的 5 个条件,代码如下所示: bool judge(bool bA, bool bB, bool bC, bool bD, bool bE){ bool bRet = false; do { // (1)如果A逃课,B也一定逃课 if (true == bA) { if (true == bB) { // 条件(1)成立 } else { // 条件(1)不成立 break; } } // (2)B和C中有且只有一个人参与逃课 if (true == (bB || bC) && false == (bB && bC)) { // 条件(2)成立 } else { // 条件(2)不成立 break; } // (3)C和D要么都逃,要么都不逃 if (true == bC) { if (true == bD) { // 条件(3)成立 } else { // 条件(3)不成立 break; } } else { if (false == bD) { // 条件(3)成立 } else { // 条件(3)不成立 break; } } // (4)D和E至少有一个人逃了 if (true == (bD || bE)) { // 条件(4)成立 } else { // 条件(4)不成立 break; } // (5)如果E逃课,则A和D一定参与逃课 if (true == bE) { if ((true == bA) && (true == bD)) { // 条件(5)成立 } else { // 条件(5)不成立 break; } } // 所有条件都满足 bRet = true; } while (false); return bRet;}int _tmain(int argc, _TCHAR* argv[]){ int a = 0, b = 0, c = 0, d = 0, e = 0; bool bA = false, bB = false, bC = false, bD = false, bE = false; for (a = 0; a < 2; a++) { for (b = 0; b < 2; b++) { for (c = 0; c < 2; c++) { for (d = 0; d < 2; d++) { for (e = 0; e < 2; e++) { bA = (bool)a; bB = (bool)b; bC = (bool)c; bD = (bool)d; bE = (bool)e; // 判断 if (true == judge(bA, bB, bC, bD, bE)) { if (true == bA) { printf("A"); } if (true == bB) { printf("B"); } if (true == bC) { printf("C"); } if (true == bD) { printf("D"); } if (true == bE) { printf("E"); } printf("\n"); } } } } } } return 0;} 运行程序,结果显示:CD,则表示C和D逃课满足上述5个条件~~~
    2020-07-12 12:15:34 thumb_up( 2 )
  • 可以问一下站内那个基于Java的办公自动化系统怎么导入与运行吗
    你是用什么软件开发Java程序?我学生用的是eclipse软件如果你是用eclipse的话:1.file中找到import(鼠标右键也可以找到)2.点击Existing Project into Workspace3.在select root directory右边点击Browse4.查找需要导入的工程文件就行了
    2020-03-09 13:30:36 thumb_up( 3 )
  • [算法问题] 谁逃课了
    像这道题,直接printf输出结果,会不会就过了呢??
    2020-07-14 11:22:42 thumb_up( 1 )
  • 说说最近的感想吧(最佳答案不止一个)
    最近一直在学JAVA,有不懂的可以交流
    2020-06-28 23:56:25 thumb_up( 1 )
  • 用c对无向图领接表的存盘,读盘并输出邻接表
    这是数据结构中图的知识点吧,一言难尽啊!自己也忘得差不多了,定义出无向图的数据结构(点数、边数、点和边),用链表结构来存储邻接表?最后实现图的遍历。。
    2020-06-30 12:56:29 thumb_up( 2 )
  • 想学游戏开发,应该直接学习游戏引擎还是从游戏引擎原理学起呢?
    从事3年的游戏客户端开发,我的建议是直接学习现成的游戏引擎。理由1、容易出作品能增加自己的积极性2、方便之后出来找工作3、并不会妨碍到自己学习游戏原理,问题是你是否多思考,(当你使用引擎的某个功能并带有好奇的时候,你会发现网上很多人都有相同的疑问,很多大神都会贴出自己完整的思路)4、可能做游戏会和你想象中的不太一样,直接上手用引擎就是在做游戏,如果发现不合适,也可以尽早退出
    2019-03-24 18:12:39 thumb_up( 4 )
eject