教 程 目 录
相关问答
问 题 学习数据结构,但是发现有一种学了和没学差不多的感觉。不知道如何运用,算法也不知道从何来开始,望大神给点建议与意见。 解决方案 看这本书,后面的题目要做,看完就Ok了 补充两点: 之前看过题主的资料,发现题主似乎对Java有一定的了解。故推荐这本书,因为我自己看过这本书,是用Java描写的。 世上不存在什么天才大神,只是一些人无缘无故跪下去了,拉都拉不起来,才显示出了所谓“天才”、“大神”的高度。
)
问 题 1.大一学过C以及C++,碍于当时不太听课,以及写代码比较少,对于许多的问题理解不到位,但是又多少有基本的了解,最近一年也经常使用PHP,JS,参加一些项目,越发的发现语言的基础功不扎实,以及在数据结构的学习中,越发的感觉语言的功底太差,导致许多的数据结构的代码理解起来有困难。 2.在有一定语言基础的情况下,希望可以有一些提升基础,但又不是特别难的一些书籍,最好是电子版的,或者比较好的blog。 3.数据结构的伪代码实现起来,感觉比较困难,希望可以推荐一些相关的实例代码书籍。 4.或者比较好的学习路线的推荐,关于C后者C++,或者数据结构相关的,提前感谢。 解决方案 可以尝试自己用C语言写一下常见的数据结构:栈、队列、堆、平衡二叉树、 B+树、动态数组、哈希表等, 针对c++的话可以写自己的迭代器并将基础的数据结构进行面向对象的包装。
)
问 题 直接从 html->css->javascript->sql->php 这样学过来的。 没有学过c语言,更没有涉猎过任何有关数据结构与算法之类的知识。 请问,若是现在我想要学习算法,需要必备哪些知识? 还有,好像现在的讲关于数据结构与算法的,都是用c语言来描述的,一定要先学习c语言才能学习数据结构与算法吗? 算法对数学知识的要求高吗? 解决方案 不需要有太多的数学知识,高中数学就足够了。很多人说算法需要数学知识,可能他们把高中数学都忘的差不多了。 在你打算要用算法解决某些数学问题的时候,例如对函数求导,求积分,解线性方程之类,才需要更多的数学知识,像线性代数、插值和逼近理论……
)
问 题 public class Node { public int value; public Node next; public Node(int data) { this.value = data; } public Node reverse(Node head) { Node pre = null; Node next = null; while (head != null) { next = head.next; head.next = pre; pre = head; head = next; } return pre; } 这段代码while循环中他是如何翻转的?想要详细一点的,debug了几次还是没弄懂具体是怎么回事 解决方案 Ps:建议先多了解一下链表
)
使用二进制的方法来解这个问题。但是在subset函数内部,for循环里边,单步输出中间结果是没问题的,但在所有的子集都生成之后,再次输出,结果是不一样的,而且出现了乱码的情况。 测试为{1,2,3,5} #include #include #include #include #include int cmpfunc (const void * a, const void * b){ return ( *(int*)a - *(int*)b ); } int** subsets(int* nums, int numsSize, int** columnSizes, int* returnSize) { int size = 1
)
问 题 我的认为是: 数据结构包含存储结构与逻辑结构。 存储结构包括:链表,数组,集合。 逻辑结构包括:队列。 不知这样理解对否?不对的话可以说明一下 希望有知道的人可以讲解一下,网上的资料太过混乱。 谢谢 解决方案 1.首先我来说几个概念性的东西: 数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。 数据对象:是性质相同的数据元素的集合,是数据的子集。 数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。 逻辑结构:是指数据对象中的数据元素之间的相互关系。 逻辑结构-集合结构:集合结构中的元素除了同属于一个集合外,他们之间是没有关系的。 逻辑结构-线性结构:线性结构中的数据元素之间是一对一的关系。 逻辑结构-树形结构:树形结构中的数据元素之间存在一种一对多的层次关系。 逻辑结构-图形结构:图形结构的数据元素存在多对多的关系 物理结构:是指数据的逻辑结构在计算机中的存储形式 逻辑存储-顺序存储:是把数据元素放在地址连续的存储单元里,其数据间的逻辑关系和物理关系一直。 物理存储-链式存储:是把数据元素存放在任意的存储单元里,这组存储单元可以是连续也可以是不连续的 接下来就说下线性表,线性表当我们申请的存储的时候是申请了一个数组,数组在计算机里面是连续的
)