想算法无头绪,咋办?

【来信】

  我很想学好数据结构,但动手能力实在太差,平时想个算法毫无头绪,我也知道熟能生巧,但是思绪都没有谈何练习?平时交作业都是看您的代码,有时代码都看不懂。真的很纠结,您能给点建议吗?很抱歉在您百忙之中打扰您。

【回复】

  没有多的了解。从你所描述的情形看,你应该是现在对算法“无感觉”的一种状态。可能根源还是在程序设计的基本能力上有欠账。学习算法,需要在抽象层面上有感觉,而这种抽象的能力,一定是需要有一定的,更为直观一些的程序设计方面的直接体验为基础的。

  如果我猜得对的话,你需要做的,就是抓紧时间,做一些不需要复杂数据结构的编程题,以此补上这种所谓的直接体验。不必将C语言完整学一遍,可能也不必做太多题,这种感觉会很快来的。

  可以选择我建设的C语言的实践资源[点此链接…],看实践要求,会的直接过,不会的做一做。

  相信你能很快找到感觉。

时间: 2024-12-06 07:45:53

想算法无头绪,咋办?的相关文章

不懂编程,想混进互联网,咋办?

哥不是个混日子的人,但哥是个机会主义者. 我也是个很痴情的人,以前深爱过一个姑娘,许多年,但结果并不太好,现在回头想想,可能是当时年少无知,爱的方法不太对吧.其实,后来那几年,身边一直有另外一个姑娘,少女初长成,青春飞扬,风情万种,可惜我那时有些不解风情,白白错失了好多机会.不过后来我还是从了,从此一发不可收拾,相恋至今. 我的老朋友们,千万不要开始对号入座啊 (脸红)!我以前学生物,后来入了互联网,这就是我的旧爱和新欢.我其实是想说,不要过多考虑自己的背景,遇到真爱,没有机会,创造机会也要上!

学Linux运维自动化无头绪?Linux运维自动化怎么学?

最近几年Linux系统应用越来越广泛,以至于很多人开始热衷学习Linux.但是我们都是从小都是学习windows系统长大的,从windows 98到现在的windows 10,而根据学习windows系统的经验来学习Linux,使很多人越学越茫然,收效甚微,而不知怎么样才能有效的学习好Linux. Linux被当作是一个类Unix的系统,我们学习Linux的相关知识,就可以更好的学习Unix系统.在这个信息时代的好处就是,你想学习任何技术,只要自己花时间去努力,一定会有所收获.Linux系统做为

麻将回溯算法(无癞子)

1 #include <stdio.h> 2 #include <iostream> 3 #include <sstream> 4 #include <cstring> 5 #include <vector> 6 7 using namespace std; 8 typedef unsigned char byte; 9 #define Arrlen(arr) sizeof(arr)/sizeof(arr[0]) 10 11 byte arr[1

算法导论——有向无环加权图的最短路径

package org.loda.graph; import org.loda.structure.Stack; import org.loda.util.In; /** * * @ClassName: NoCycleSP * @Description: 有向无环图的最短路径算法 * * 无环图可以采用拓扑排序来处理,进行拓扑排序中不会有排名靠后的指向排名靠前的情况,所以拓扑排序的第一个节点是无法从其他节点抵达的 * * 无环权重有向图的算法时间复杂度可以高达O(V+E),比Dijkstra算法

mser 最大稳定极值区域(文字区域定位)算法 附完整C代码

mser 的全称:Maximally Stable Extremal Regions 第一次听说这个算法时,是来自当时部门的一个同事, 提及到他的项目用它来做文字区域的定位,对这个算法做了一些优化. 也就是中文车牌识别开源项目EasyPR的作者liuruoze,刘兄. 自那时起就有一块石头没放下,想要找个时间好好理理这个算法. 学习一些它的一些思路. 因为一般我学习算法的思路:3个做法, 第一步,编写demo示例. 第二步,进行算法移植或效果改进. 第三步,进行算法性能优化. 然后在这三个过程中

微软数据挖掘算法:Microsoft 神经网络分析算法(10)

前言 有段时间没有进行我们的微软数据挖掘算法系列了,最近手头有点忙,鉴于上一篇的神经网络分析算法原理篇后,本篇将是一个实操篇,当然前面我们总结了其它的微软一系列算法,为了方便大家阅读,我特地整理了一篇目录提纲篇:大数据时代:深入浅出微软数据挖掘算法总结连载,我打算将微软商业智能中在DM这块所用到的算法全部集中在这个系列中,每篇包含简要算法原理.算法特点.应用场景以及具体的操作详细步骤,基本能涵盖大部分的商业数据挖掘的应用场景,有兴趣的童鞋可以点击查阅.本篇我们将要总结的算法为:Microsoft

要想混得好,必须认识21个人!

一个记者. 现在媒体庞大,认识个把记者不是难事.记者的"曝光"似乎可以用来解决一切纠纷,至于如何解决问题,听你这个记者朋友的安排就行了. 一个医生. 看看人民医院.山大一院拥挤的人潮,就知道认识一两位医生有多重要了.挂好医生的号,可能要排4个小时:但认识一个好医生,可能就不用排队(太可气了,好端端的队伍就这样被插队的打乱). 一个数码达人. 数码达人可以提供多元化服务,从重装系统.破解iphone到陪你买手机.但由于使用过于方便,他往往造成了更多依赖他的数码文盲.电脑城有些人靠这个结交

算法录 之 复杂度分析。

一个算法的复杂度可以说也就是一个算法的效率,一般来说分为时间复杂度和空间复杂度... 注意接下来说的均是比较YY的,适用与ACM等不需严格分析只需要大致范围的地方,至于严格的算法复杂度分析的那些数学证明,主定理什么的在<算法导论>这本书上有十分详细的讲解,网上应该也会有人写过,这里就不多说了(其实,是我不会而已o(╯□╰)o...). — 到底啥是复杂度呢?先来个栗子. 小明有10个苹果,有一天他饿了,然后准备吃掉一个苹果,但是小明有中二病,他要吃里面重量最大的那个,于是...他需要一个找到那

近十年one-to-one最短路算法研究整理【转】

前言:针对单源最短路算法,目前最经典的思路即标号算法,以Dijkstra算法和Bellman-Ford算法为根本演进了各种优化技术和算法.针对复杂网络,传统的优化思路是在数据结构和双向搜索上做文章,或者针对不必要的循环进行排除.近年来,最短路算法大量应用于需要高及时性的领域,比如GIS领域,也大量应用于网络规模巨大的社会网络分析领域,这使得传统思路并不能很好地解决,于是把最短路算法思路本身抽象成两阶段算法,第一阶段为数据预处理,第二阶段为实时地搜索.这二者是互相矛盾的,如何找到平衡是各种算法技术