精华内容
下载资源
问答
  • 学习体会

    2009-10-28 07:49:00
    只有认真的学习才能真正体会到它的乐趣,只有不断的进取才能理解学习

    只有认真的学习才能真正体会到它的乐趣,只有不断的进取才能理解学习。

    展开全文
  • C++学习体会

    2016-06-23 09:14:25
    C++学习体会   转眼一个学期就过去了,我从接触到学习C++有一个学期了,贺老师也带我们学习了一个学期了,在这17周的学习里,有疑问也有困惑,但是收获更大。我得承认在我不会学习,没有掌握学习的方法,刚开始贺...

                                                                                                                           C++学习体会       

      转眼一个学期就过去了,我从接触到学习C++有一个学期了,贺老师也带我们学习了一个学期了,在这17周的学习里,有疑问也有困惑,但是收获更大。我得承认在我不会学习,没有掌握学习的方法,刚开始贺老师的学习方法让我压力很大。翻转课堂的学习方式也决定了在学习的绝大多数时间里我需要去自主学习。一开始上课的时候会有各种不适应,云班课的视频忘看了,博文没发都发生过。随着时间的推移,慢慢的适应这种学习方法,我发现这种学习方法真的让人很舒服,我想只能用舒服来表示了。老师讲课的时候,不再是一脸木木的表情,能跟上老师的节奏,也不会因为听不懂老师讲的什么而烦躁了。说实话我体会到这一点确实有点儿晚了,晚到我已近落下了太多的课程,所以我也在补,在重新学习,特别是每周项目中的阅读程序,我觉得真的很有用,它能让我更好的理解程序,让我明白以前不懂的程序和代码。

      再就是贺老师的分组学习的方法了,这对我的帮助很大,我得承认我的基础不好,可以说是等于零。虽然我问的问题没什么技术含量也可以说是幼稚,但是刘涛和郭永恒还是很有耐心的给我解答,我这的很开心,也有很大的挫败感,每次问题的时候我都能感觉到脸上火辣辣的,但是这样的学习收获真的是很大的。

      虽然我可能没有编程的天分,但是我不想放弃。贺老师都没有放弃我,我有什么理由放弃C++呢,而且这是我自己的选择啊,我要对自己的选择负责不是吗。

    展开全文
  • 回溯算法学习体会

    千次阅读 2019-06-18 11:31:01
    回溯算法的学习体会。本文包括回溯算法的引入,编程框架,以及相关例题的详解。希望通过此文,加深读者对回溯算法的理解。

    引言

    在正式谈论回溯算法以前,我们不妨以一道经典算法题作为引入。LeetCode 46. 全排列,给定一个没有重复数字的序列,返回其所有可能的全排列。 例如,输入为[1,2,3],则输出应为[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]。我们暂时不要考虑如何用编程方式去实现这一过程,现在假设是人力罗列,我们应该遵循一个什么样的列写规则?一种简单的列写规则如下图所示。
    初始时,可供我们选择的数字包含在集合{1,2,3}中。第一步,我们从集合中选取1作为起始节点,然后更新集合为{2,3}。第二步,我们从集合中选取2作为第二个节点,然后更新集合为{3}。第三步,我们从集合中选取3作为第三个节点,然后更新集合为{},此时集合为空集,代表我们已经完整找到了一个可行结果[1,2,3]。回顾来看,我们每一步都在做着相同的事——从当前集合中选一个作为当前节点的数,然后更新集合。于是我们可以将问题进行抽象简化,初始时我们希望找到[1,2,3]的全排列(母问题),第一步选取1为起始节点后,我们希望找到[2,3]的全排列(子问题),因为一旦找到了[2,3]的全排列,只要在这些排列前面补上1,我们就可以得到母问题中以1为起始节点的全部结果。这就形成了用递归法求解这个问题的基本思路。
    再来看图,纵观整个搜索过程,无非是一种全遍历过程。每到一个节点,如果有可选项,则生成新节点,然后更新备选集合,再进一步求解子问题;而如果无可选项,则回退到上过一个节点的状态。当然,途中我们要判断是否已经产生了解。
    在这里插入图片描述

    伪代码

    反思上面的过程,我们形成一个伪代码框架,用来求解回溯问题。
    整个方法其实就3大核心部件:1.解的判断以及结束判断;2.筛选满足约束的备选项;3.产生子问题并求解,求解完后恢复求解之前的状态。

    public void backtrack(...){
    	if(是一个可行解) 将结果存入集合中;
    	if(无备选项或无须进一步搜索) return;
    	
    	for(所有的备选项){
    		if(该备选项不满足约束) continue;
    		生成当前节点;
    		更新集合;
    		子问题backtrack();
    		//状态回退
    		删除节点;
    		回退集合;
    	}
    }
    
    

    例子

    全排列

    LeetCode 46. 全排列
    我们回顾上一节给的3大核心部件。1.解的判断以及结束判断。当temp列表的大小和给定数组的长度一致时,说明形成了一个可行结果,需要存入ret中。同时两者数值大小一致,也说明再无备选项,搜索应该回溯到上一步。2.筛选满足约束的备选项。这里用到了一个布尔数组uesd,用来记录哪些数是已经被使用了的。显然我们应该选取那些未被使用过的数。布尔数组的技巧非常实用,应该记住。3.产生子问题并求解,求解完后恢复求解之前的状态。子问题求解前需要更新布尔数组used和暂存列表temp,子问题求解完以后,需要恢复used和temp之前的状态。

    class Solution {
        public List<List<Integer>> permute(int[] nums) {
            List<List<Integer>> ret = new ArrayList<>();
            backtrack(ret,new ArrayList<Integer>(),nums,new boolean[nums.length]);
            return ret;
        }
        
        public void backtrack(List<List<Integer>> ret,List<Integer> temp,int[] nums,boolean[] used){
            if(temp.size()==nums.length){
                ret.add(new ArrayList<>(temp));
            }else{
                for(int i = 0;i<nums.length;i++){
                    if(used[i]) continue;
                    used[i] = true;
                    temp.add(nums[i]);
                    backtrack(ret,temp,nums,used);
                    used[i] = false;
                    temp.remove(temp.size()-1);
                }   
            }
        }
    }
    

    全排列Ⅱ

    LeetCode 47. 全排列Ⅱ
    相较于上一题全排列,这题最大的难点在于如何解决重复数字的排列问题。如果继续采用上一题的解法,在输入为[1,1,2]的情况下,[2,1,1]这种结果会出现2次,显然不满足题目要求。这里我们不妨回顾一下排列公式和组合公式。A(3,4) = 4*3*2,而C(3,4) = 4*3*2/(3*2*1),两者的唯一区别在于,组合去除了排列的顺序,即组合不在乎所选3个数字的具体选择顺序是怎么样的,只在乎我们具体选择了哪3个数字。进一步,若给排列问题加上数字选择的顺序约束,即只能按照编号从小到大选择数字,其实质也将变为组合问题。回到原问题,我们能否也去除数组中这两个1的顺序性,从而避免产生重复情况。类似的,我们将固定2个1的选择顺序,只能先选择第1个1,再选择第2个1,而不存在先选择第2个1,再选择第1个1的情况。
    当然在调用回溯算法以前,我们需要先对数组进行排序,从而确保相同的数是相邻的。除此之外,和上一题的唯一差别仅在于选取备选项时要求固定顺序。

    class Solution {
        public List<List<Integer>> permuteUnique(int[] nums) {
            int n = nums.length;
            List<List<Integer>> ret = new ArrayList<>();
            Arrays.sort(nums);
            backtrack(ret,new ArrayList<Integer>(),nums,new boolean[n]);
            return ret;
        }
        
        //固定顺序,变组合为排列
        public void backtrack(List<List<Integer>> ret, List<Integer> temp, int[] nums, boolean[] used){
            if(temp.size()==nums.length){
                ret.add(new ArrayList<Integer>(temp));
            }else{
                int n = nums.length;
                for(int i = 0;i<n;i++){
                    if(used[i] || (i>0&&nums[i]==nums[i-1]&&!used[i-1])) continue;
                    used[i] = true;
                    temp.add(nums[i]);
                    backtrack(ret,temp,nums,used);   
                    used[i] = false;
                    temp.remove(temp.size()-1);    
                } 
            }
     	}  
    }
    

    组合总和

    LeetCode 39. 组合总和
    这题同样存在如何避免重复结果的问题。类似的,为了变排列问题为组合问题,我们对数组的全部数字固定了选择顺序——下标小的数字必须在下标大的数字之前被选择。这里不再用到布尔数组used,原因是当我们固定了选择顺序后,在每一步,我们都容易知道,下标大于当前数字的是未被选择过的,而下标小于当前数字的是已经被选择过的。

    class Solution {
        public List<List<Integer>> combinationSum(int[] candidates, int target) {
            int n = candidates.length;
            List<List<Integer>> ret = new ArrayList<>();
            backtrack(ret,new ArrayList<Integer>(),0,candidates,target);
            return ret;
        }
        
        public void backtrack(List<List<Integer>> ret,List<Integer> temp,int left,int[] candidates, int target){
            if(target==0){
                ret.add(new ArrayList<Integer>(temp));
            }else if(target < 0){
                return;
            }else{
                int n = candidates.length;
                for(int i =left;i<n;i++){
                    temp.add(candidates[i]);
                    backtrack(ret,temp,i,candidates,target-candidates[i]);
                    temp.remove(temp.size()-1);
                }
            }
        }
    }
    

    总结

    现在我们对回溯算法进行总结。回溯算法的本质是一种深搜递归遍历。通过上面的例题,我们可以知道回溯算法可以对各类组合、排列问题进行较好的求解,所以当遇到可以抽象建模为排列或组合的问题,回溯算法都可以作为一种求解手段。

    展开全文
  • UCOSIII学习体会

    2017-07-31 16:21:00
     下面谈谈自己的学习体会。参考书籍是Labrosse的《嵌入式实时操作系统μC/OS-III 》、《STM32F1 UCOS开发手册_V2.0》以及战舰里的《ucos-iii知识点总结》,当然还有网上各位大神的博客等。1、光看书不如边

      我是从2017年6月23日开始准备学习UCOSIII,并移植到STM32F103上,到2017年7月24日,结束UCOSIII的学习。这个过程肯定有血有泪有欢笑!
      下面谈谈自己的学习体会。参考书籍是Labrosse的《嵌入式实时操作系统μC/OS-III 》、《STM32F1 UCOS开发手册_V2.0》以及战舰里的《ucos-iii知识点总结》,当然还有网上各位大神的博客等。

    1、光看书不如边做边看书

       6月30日,我写到——本周最大的问题是怎么将学习的东西运用到实践中?脑袋关于UCOSIII的概念很模糊,以至于不知从何入手。一定要下定决心吃透UCOSIII。
      这就是我前一周光看书,不实践的结果。后来我想想不能只看书,尽管那个时候还不知道如何把书上的内容移植到我的程序里。
      接下来的一周我就按照书上学习的内容从建任务开始,把我的系统分成几个任务,一个任务一个任务的往里面加内容。
      当然不可能一步就成功了,过程中也遇到了许多bug。但是进步是很明显的。
      于是7月7日,我写到——最快的学习方式就是边实践边学。最开始花了一周学习UCOSIII,但是理解都太表面,后一周就开始边移植边学习,遇到问题在看书,理解起来就简单多了。
      后面一段时间都是在解决问题中学习进步的。

    2、问题

    (1) 系统运行一段时间,就跑死了。

      上网查资料,分析了一整天,最后发现是因为中断了一直在申请内存,但是又没有释放内存,但是内存用光。
      所以,在操作系统里申请内存要小心,一定要及时释放。

    (2)关于stm32 HardFault_Handler 异常的处理 死机

    参考下面这个网址找出了问题
    http://blog.sina.com.cn/s/blog_4aa25f130102v0m8.html 

    (3)全局变量的使用

       只允许一个任务更改全局变量。

    ……

      此外,还有很多要注意的地方。
      本人真的觉得战舰里的《ucos-iii知识点总结》写得不错,解决了许多自己不大清楚的地方。

    展开全文
  • 钢结构防火设计学习体会,钢结构防火设计学习体会钢结构防火设计学习体会,钢结构防火设计学习体会,钢结构防火设计学习体会
  • IDEA学习体会与心得

    2018-11-23 11:07:52
    IDEA学习体会与心得 ** 通过近期的学习体会,我觉得IntelliJ IDEA有以下优点: 1:代码输入过程中,自动填充方法或类。智能检查类中的方法,当发现方法名只有一个时自动完成代码输入。 2:自动保存功能 3:添加第三...
  • 翻转课堂学习体会

    千次阅读 2016-06-20 12:00:38
    翻转课堂学习体会 这学期的c++课程由我们的贺老师教授,贺老师采用了我们从未体验过的翻转课堂的教学方式。那么什么是翻转课堂呢,翻转课堂与传统的课堂教学有哪些区别呢? 传统的教学模式是老师在课堂上讲课,...
  • Unity一个月学习体会

    千次阅读 多人点赞 2016-11-10 17:27:00
    Unity一个月学习体会 本人研一工科男,老板项目需要用到三维动态建模以及三维场景创建,因为之前没人做过,所以外包了出去。外包公司说要用Unity来做,为了便于以后的调试以及再开发,老板一声令下,我便开始了和...
  • Python学习体会

    2008-11-04 19:27:00
    Python学习体会 author: 刘敏 EMAIL:liumin3000@gmail.com python是属于面向对象编程语言,但是在语法格式上和C,C++,还有其他语言上有很多的不同 1,变量的声明 在python里没有数据类型,而且在语句结束时后面...
  • web学习体会

    2019-09-16 08:09:15
    本周开始了新的一门专业课的学习,web动态网站开发的相关内容,首先进行了Tomcat的这软件的下载和安装 在进行了一系列的环境变量配置后可以使用Tomcat进行网站访问了 在tomcat目录里实现第一个web项目 在...
  • Android编程权威指南——GeoQuiz 学习体会,对书中GeoQuiz 挑战练习的一些看法,以及解决方案
  • ACE网络框架学习体会

    千次阅读 2014-05-10 09:54:25
    ACE网络框架学习体会   转载▼ 标签:  ace框架   ace网络   ace编程   ace   游戏 分类: 技术性文章 ACE网络框架比较有名,30万行左右代码,开发了10...
  • Android Studio初学习体会

    千次阅读 2013-08-25 21:41:35
    Android Studio 初学习体会 前言:  2013年5月17日,Google I/O 2013开发者大会上,Google公司给了安卓开发者一个新的神器—Android Studio。    既然是Google官方出的,那么其必有值得推广的地方。如果你想...
  • 学习小结(关于深度学习、视觉和学习体会

    千次阅读 热门讨论 2020-11-06 16:53:59
    今天是2020年11月6日,来到上海正好一个月了,想写一篇学习小结,然后开始尝试一下新的学习方式。 2020年3月开始接触计算机视觉,接触keras框架,当时很多都不懂,一点一点啃,最后顺利完成了我的第一个视觉项目也...
  • ROS学习体会

    千次阅读 2017-05-23 09:50:33
    建立工作空间和包以后,需要使用如下命令来将新的工作空间加入到环境变量中 echo "source ~//devel/setup.bash" >> ~/.bashrc source ~/.bashrc 然后输入如下指令查看环境变量 echo $ROS_PACKAGE_PATH ...
  • Moveit学习体会

    2017-05-24 10:28:54
    (1)Trac-IK 逆运动学求解器 该求解器提供了两种数值方法求解:一种是牛顿法(KDL也采用了该方法),但在跳出局部最优方面有改进;另一种是SQP方法,即序列二次规划,序列二次规划能够处理约束。...
  • Spark学习体会

    千次阅读 2015-11-12 07:26:42
    最近半年多时间里,经常看书学习,特别是看Spark亚太研究院王家林老师的Spark技术视频,觉得受益很多。
  • 049惯导学习体会

    千次阅读 2018-11-27 08:43:04
    在这个方向学习了这么久,中间跌跌撞撞,但也收获了很多。学习过程中,发现很多书籍或者博客都晦涩难懂,所以我希望写一些初学者肯定能看懂并且有用的东西,算是出于对同类人的惺惺相惜。 另外,我想列一下我认为很...
  • python 学习体会

    千次阅读 2013-03-29 09:31:37
    这段时间,做ACM的状态特别不好,经人推荐,了解了一下python,发现python确实很强大,而且语法简洁清晰,感觉用起来很方便(虽然还不会)。  在看刘汝佳的白书的时候,在最后附录,他也推荐python,并不是因为...
  • shiro集成OAuth2学习体会

    千次阅读 2017-09-21 23:20:59
    学习OAuth2体会
  • 关于java学习体会心得

    万次阅读 2019-05-20 09:02:13
    关于初次学习java,在python的基础上,学习java,但是学习起来还是很困难。对于学习的列表、字典、循环等,在python中学习很差,所以导致java学习比较难。 在面向程序时,比较容易学习,但是在面向对象时,就有些...
  • 框架的学习体会

    2019-06-16 21:33:47
    学习框架之前,对框架的概念还是比较模糊,并不知道框架的强大,一个注解一行简单的代码就能解决之前比较复杂的逻辑,但是任何东西都有利弊,我们还是需要将框架封装的具体的代码大概看懂,把封装的代码要读一下,...
  • 运算符重载学习体会

    2018-05-27 22:14:01
    知识点总结 重载运算符函数可以对运算符做出新的解释,即定义用户所需要的各种操作。但运算符重载后,原有的基本语义不变,包括: 不改变运算符的优先级 ...有些地方不能熟悉的使用,之后的学习还是注重下重载的学习
  • Web开发学习体会

    千次阅读 2005-02-01 15:15:00
    Web开发学习体会这段时间一直在学习使用vss.net做web方面的东西,稍微有些感触,主要是如下几方面的:1. web及B/S开发思想、模式由于起初对HTML语言没有多少了解,所以刚拿到一些例子,特别是那些诸如JAVASCRIPT等...
  • JDK8.0学习体会–从python的lambda类比java的lambda 小菜最近接触jdk8.0学习下还是有不少新东西的。这里记录下自己的学习心得。 小菜的理解可能是错误的,还请大家斧正。共同进步。
  • 深度学习体会1-初步接触深度学习

    千次阅读 2016-06-18 23:35:28
    为了不断激励自己学习,将陆续写出自己在机器学习领域方面的体会和心得。  从2016年5月中旬到2016年6月中旬,本人将I.Goodfellow的深度学习一书大概看了一遍,看的稀里糊涂,只从整体上了解了一下深度学习的发展...
  • web服务器学习体会

    千次阅读 2016-12-01 15:10:56
    web服务器其实就是一个应答器,他可以按照预先程序的设计响应客户端浏览器的所有问题。...当前市面上的web服务器架构很多,比如微软的iis,Apache、tomcat,nginx等等,其实现的功能都是相似的,只不过实现的具体方法...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,079
精华内容 10,831
关键字:

学习体会