代码之家  ›  专栏  ›  技术社区  ›  Akash Kava

提高数据结构知识的示例问题

  •  0
  • Akash Kava  · 技术社区  · 15 年前

    我见过大多数web程序员(用sql编写一些脚本来生成CRUD应用程序)不知道如何在相对复杂的情况下构建业务逻辑,例如使用堆栈、队列或编写递归算法。这些程序员习惯于在google上搜索并粘贴代码,但不知道哪个数据结构做什么,什么时候使用什么。

    我正在尝试举办一个培训网络程序员的会议,以提高他们的知识与数据结构,例如,我给了一个样本程序来计算重复的单词在给定的文本,一个应该使用字典/哈希表,但即使指导他们使用字典,他们仍然不能做到这一点。

    我需要样本问题定义(当然我当然可以找出答案,但我不希望任何人在这里给出代码,只有问题定义),应该训练他们使用堆栈,队列,列表,字典等。

    如果我给他们像解析和表达式这样的东西,他们会心脏病发作,所以我需要简单的算法开始,就像计算给定文本中的重复次数一样简单。

    请假设只有.NET2.0,所以泛型可以,但是没有Linq等。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Aryabhatta    15 年前

    这里有一些。

    给定一个仅由“(”和“)”组成的字符串,给出一个算法来检查它是否是一个用括号括起来的表达式(即括号是否正确匹配)。

    例如:“(())()”用括号括起来很好,但“())(”不是。

    2)

    将数字表示为数字的链表。给出求这类表的和与积的算法(这种表示法实际上可以用来表示大整数)。

    3)

    用户首先输入一组不同的数字。输出接收到的数字的总数,然后按接收的顺序输出数字本身。对于额外的信用,如果用户多次输入相同的数字,则标记一个错误。

    用户输入一组数字,可能是重复的。输出接收到的不同号码的数目,并按接收号码的相反顺序输出。

    所以,如果用户输入11 22 22 11 10,则输出3,后跟10 22 11。

    推荐文章