数据结构算法设计题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构算法设计题相关的知识,希望对你有一定的参考价值。
1.已知一颗二叉树采用二叉链表存放,写一算法,要求统计出二叉树中叶子结点个数并输出(输出无顺序要求)
1.已知一个带头结点的整数单链表L,要求将其拆分为一个正整数单链表L1和一个负整数单链表L2.
2.无向图采用邻接表存储结构,编写算法输出图中各连通分量的节点序列
3.编写一个建立二叉树的算法,要求采用二叉链表存储结构
2.编写算法,判断带头结点的双循环链表L是否对称。
急需啊,考试要用的...............
我知道有点麻烦啦,答案好的话我加分的
Leetcode练习(Python):回溯算法类:第211题:添加与搜索单词 - 数据结构设计:设计一个支持以下两种操作的数据结构: void addWord(word) bool search(w
题目:
添加与搜索单词 - 数据结构设计:设计一个支持以下两种操作的数据结构: void addWord(word) bool search(word) search(word) 可以搜索文字或正则表达式字符串,字符串只包含字母 . 或 a-z 。 . 可以表示任何一个字母。
思路:
尝试了很长时间的回溯方式,但是一直无法出来结果。第一感觉是不用回溯,直接使用比较的方式来做,程序1使用的是常规方法,之后补充回溯方法的程序。
程序1:常规方法
class WordDictionary: def __init__(self): """ Initialize your data structure here. """ self.myDict = {} def addWord(self, word: str) -> None: """ Adds a word into the data structure. """ length = len(word) if length in self.myDict: self.myDict[length] += [word] else: self.myDict[length] = [word] def search(self, word: str) -> bool: """ Returns if the word is in the data structure. A word could contain the dot character ‘.‘ to represent any one letter. """ length = len(word) if length in self.myDict: for auxiliary in self.myDict[length]: index = 0 for index1 in range(length): if word[index1] != auxiliary[index1] and word[index1] != ‘.‘: break elif word[index1] == auxiliary[index1] or word[index1] == ‘.‘: index += 1 if index == length: return True if length not in self.myDict: return False return False # Your WordDictionary object will be instantiated and called as such: # obj = WordDictionary() # obj.addWord(word) # param_2 = obj.search(word)
以上是关于数据结构算法设计题的主要内容,如果未能解决你的问题,请参考以下文章